我对模拟环境非常陌生,最近使用 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;
}
}
使用最小起订量进行单元测试
[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
填充了空值,原因是 org 为空。即使我通过最小起订量设置了属性,也不确定为什么 org 为空。有人可以给我一个线索我做错了什么。顺便说一句,这里 WebService 认为它可以是任何 Web 服务