Moq と単体テストは初めてです。私は単体テストを行ってきましたが、これは次のコードです。
private Mock<IServiceAdapter> repository;
[TestInitialize]
public void Initialize()
{
repository= new Mock<IServiceAdapter>();
}
[TestMethod()]
public void SaveTest()
{
//Setup
string Name = "Name1";
string Type = "1";
string parentID = null;
repository.Setup(x => x.Save(Name , Type, parentID)).Returns("Success").Verifiable();
//Do
var result = repository.Object.Save(Name , Type, parentID);
//Assert
repository.Verify();
}
私の問題は、テストが常に、Returns パラメーターに入力した文字列を返すことです。つまり、常に「成功」またはその場所に書いたものを返すことです。それはサービスの実際の動作ではないため、正しくないと思います。テストしようとしている「保存」サービスの実際の動作を反映する方法を知っている人はいますか? つまり、戻り文字列がサービス メソッドと異なる場合、テストは失敗するはずです。
編集済み
ServiceAdapter インターフェイスは、私が REST サービスのように呼び出す Web サービスの単なるラッパーです。これは Web フォーム プロジェクトです。
私はこの記事のようなことをしています
それを機能させるには、依存性注入を使用して FakeController のようなものを作成する必要がありますか?