3

まず、これはMicrosoft Storeのwinrt ライブラリであり、次のシグネチャを使用してパブリック メソッドをテストしようとしています。

string GetStringFromFile(StorageFile storageFile);

ただしStorageFile、コンストラクターがないため、NUnit テスト コードで作成できません。Moqまた、 WinRt では他のモッキング ライブラリも使用できないと思います。

私は IStorageFile インターフェイスから手作りの偽物を作成しようとしていましたが、内部には多くのメソッドがあり、例のように内部にパブリック コンストラクターを持たないクラスを指す別の深いプロパティに固執していStorageFileますImageProperties

StorageFileだから... and/or ImagePropertiesclassesでメソッドをテストする最良の方法は何ですか?

4

2 に答える 2

5

このStorageFileクラスはインターフェイスIStorageFileを実装しているため、依存関係をそれに変更する必要があります。その後、モックまたはスタブ (Moq などを使用できない場合は作成したクラス) を使用できます。

于 2012-12-29T20:39:43.327 に答える
0

このメソッドが自分のものであり、制御できない別のライブラリにあるものではないと仮定します。署名を変更して、パラメーターが具体的なクラスではなく IStorageFile 型になるようにします。次に、テスト用にその偽物を作成できますが、アプリケーションでは実際の StorageFile を使用します。

于 2012-12-29T20:40:28.470 に答える