0

私は自分のアプリケーションをテストして、すべての重要なクラスが適切にシリアル化/リロードできることを確認しようとしています(特に実装するクラスIExternalizable):

[Test]
public function testMyObjectSerialization():void {
    var myobj:MyObject = new MyObject();
    var ba:ByteArray = new ByteArray();
    ba.writeObject(myobj);
    ba.position = 0;
    var loadedObj:MyObject = ba.readObject();
    assertMyObjectEqual(myobj, loadedObj);
}

また、セットを持たない強い型のオブジェクトをシリアル化しようとすると、警告が表示されます[RemoteClass](これは、ほぼ確実にコードのバグを表しているためです)。

では、警告を出すようにAMFシリアライザーを構成する方法はありますか?

また、これは…を使用して可能services-config.xmlであるように思われますが、ドキュメントはそれがチャネルレベルであることを示唆しているservices-configようです。サーバーと通信せずに単体テストを実行できれば、本当に欲しいです(LCDSを使用していません。とにかく、たくさんはservices-config私には当てはまりません)。

4

1 に答える 1

2

[RemoteClass]またはその他のメタデータが設定されているかどうかにかかわらず、Flash PlayerからネイティブAMFシリアル化/逆シリアル化を構成して、警告を表示する方法はありません。

ただし、それを行うために独自のクラスを作成することはできます。リスト内のすべてのオブジェクトを登録し、flash.utils.describeTypeを使用して[リモート]を確認できます。または、[Remote]メタデータをチェックするwriteObjectのラッパーを使用します。

于 2010-04-12T21:25:28.030 に答える