したがって、IAdapterインスタンスを取得するビューモデルがありますか?ビューモデルでプロパティを設定すると、そのIAdapterでいくつかのメソッドが呼び出されます。これは私が簡単にmoq &とすることができます。ここにテストメソッドがあります。ここでインターフェイスとプライベートメソッドでテスト可能なコードを除外する
[TestMethod]
public void Setting_ExchangePrice_Calls_UpdateExcahngeCosts()
{
var currentItem = new InventoryItem();
bool adapterUpdateExchangeCostsWasCalled = false;
adapterMock.Setup(x => x.CurrentItem).Returns(currentItem);
adapterMock.Setup(x => x.UpdateExchangeCosts()).Callback(() => adapterUpdateExchangeCostsWasCalled = true);
vm.Adapter = adapterMock.Object;
vm.ExchangePrice = 4;
Assert.IsTrue(adapterUpdateExchangeCostsWasCalled);
}
が問題である、UpdateExchangeCosts())(UpdateExchangePricesを呼び出す必要がある - そこにないことを意味し、それは公にする理由がないので、彼らは両方のアダプタの具体的な例に住んでいますインタフェースでそれを定義する理由は、インタフェースにプライベートメソッドを定義しないためです。 Sooooo .....私は、UpdateExchangeCosts()を呼び出してもUpdateExchangePricesを呼び出すことをテストする方法について悩んでいますか?私は状態ベースのテストを想像することができますが、多くの場合、UpdateExchangePricesは(何らかの理由で)何も更新しないので、変更された状態はテストされません。
ありがとう、素敵な一日を!
はい!そうですね、答えを見てすぐに電球が点灯しました。どうもありがとう。どちらの答えも正しいです。それは明らかに私はうんざりに巻き込まれ、それは私の脳をクリックしませんでした。 – Kenn