1

Windows Phone 7に写真アプリがあり、ユニットテストを作成するためにNUnitを試しています。埋め込まれたリソースからいくつかの画像を読み込もうとしていますが、2つの異なるアプローチを試しましたが、どれもうまくいきません...

  1. これにより、BitmapImageオブジェクトをインスタンス化するときにSystem.DivideByZero例外が発生します

    BitmapImage image = new BitmapImage(new Uri("data/data000.jpg"));
    WriteableBitmap testData = new WriteableBitmap(image);
    
  2. これにより、「呼び出し元のアプリケーションIDを判別できません」というメッセージが表示されます。PictureDecoder.DecodeJpeg()を呼び出すとき。

    using (var stream = Assembly.GetExecutingAssembly().GetManifestResourceStream("MyApp.Test.data.data000.jpg")) {
      WriteableBitmap testData = PictureDecoder.DecodeJpeg(stream);
    }
    

他に何をすべきか、試してみるべきか、何か考えはありますか?NUnit(NuGetから)とNUnit-WindowsPhone(これもNuGetから)を試しました。

どうもありがとうございます!

編集:追加する必要があることの1つは、Resharperを介してテストケースを実行していることです。それが重要かどうかはわかりません...

よろしく、ケイン

4

1 に答える 1

0

私の記憶が正しければ、単体テスト クラス ライブラリの mscorlib を除くすべての参照で「ローカルのコピー」を true に設定する必要があります。

編集:コードを書き直すのが最善の策だと思いますので、ビューモデルにはイメージ名しかありません(MVVMを使用している場合)。次に、正しい画像を選択していることなど、独自のロジックをテストできます。 とにかく BitmapImage/WriteableBitmap をテストするのは無意味です。

Silverlight 以外のランタイムで Silverlight コードを実行することの苦労...

于 2012-11-13T23:32:15.627 に答える