私はMoqとユニットテストの初心者です。私はユニットテストをやっていると、これは次のコードです: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();
}
私の問題は、テストは常に他の言葉で、私は戻り値のパラメータに入れた文字列を返すことで、それは常に「成功を返します。 "または私がその場所に書き込むものは何でも。私はそれがサービスの実際の行動ではないので正しくないと思う。私がテストしようとしている「保存」サービスの実際の動作をどのように反映できるかは誰でも知ることができます。したがって、戻り文字列がサービスメソッドと異なる場合、テストは失敗するはずです。
編集
ServiceAdapterインターフェイス私はRESTサービスのように呼び出すWebサービスのための単なるラッパー。これはWebフォームプロジェクトです。
私はそれを動作させるために、依存性注入とFakeControllerのようなものを作成する必要があり、私はこの記事で
のようなものをやっていますか?
私はここに何かがありません。私はコントローラを持っていません(Webフォーム)。私は質問にさらなる情報を載せます。 –
@MorganSorenコントローラは単なる例でした。サービスアダプタを使用する他のクラスでも可能です。私はWebフォームは単なるテスト可能なユニットではないと考えています。通常、テスト可能なWebフォームアプリケーションを作成するために使用されるMVPパターンです。 –
@MorganSorenは、[unit-testing web forms]に関する質問です(http://programmers.stackexchange.com/questions/116089/is-is-possible-to-unit-test-a-web-forms-site) –