0

私はモック環境に非常に慣れておらず、最近Moqを使用していくつかの単体テストを行っており、テストの実装に従うことに行き詰まりました。

インターフェース:

public interface IWebServiceWrapper
{
   string _org { get; set; }
   WebService GetWebService();
}

具体的なクラス

public class WebServiceWrapperImpl : IWebServiceWrapper
{
  public string _org {get; set;}
  public WebService GetWebService()
  {
     WebService new_webservice = new WebService();
     new_webservice.org= _org; 
     return new_webservice;
  }
}

Moq を使用した単体テスト

[TestMethod]
public void CheckAccount()
{
      Mock<IWebServiceWrapper> mockSrvWrapper = new Mock<IWebServiceWrapper>();
      mockSrvWrapper.Setup(m => m._org).Returns("Some org");
      WebService new_webservice = mockSrvWrapper.Object.GetWebService();
      ............
      ............
 }

ここnew_webserviceには、組織が null であるという null 値の理由が入力されています。moq を使用してプロパティをセットアップしたにもかかわらず、org が null である理由がわかりません。誰かが私が間違っていることの手がかりを教えてください。ちなみにここのWebServiceはどんなWebサービスでもいいと思ってください

4

1 に答える 1

1

これはあなたが必要とすることをしますか?

Mock<IWebServiceWrapper> mockSrvWrapper = new Mock<IWebServiceWrapper>();
mockSrvWrapper.SetupProperty(m => m._org, "Some org");
mockSrvWrapper.Setup(m => m.GetWebService()).Returns(
        () => new WebService { org = mockSrvWrapper.Object._org });
WebService new_webservice = mockSrvWrapper.Object.GetWebService();
于 2012-05-31T14:51:53.423 に答える