【发布时间】:2011-06-15 14:27:01
【问题描述】:
我有 SL 代码
public void LoadData()
{
MyClient myClient = new MyClient();
myClient.MyMethodCompleted += new EventHandler<MyMethodCompletedEventArgs>(myMethod_MyMethodCompleted);
myClient.MyMethodAsync();
}
然后完成的方法根据从服务器返回的内容设置属性。
工作正常,但我想对类进行单元测试,并且属性都是私有的。 我希望做一些类似的事情
public void LoadData(IMyClient myClient = null)
{
if(myClient == null) {
MyClient myClient = new MyClient();
}
...
并传入一个mock,但是客户端的接口不包含异步方法,而只有原始的服务器端非异步方法 即 public ReturnType MyMethod();
所以我尝试使用 MyClient 作为 Mock 对象的基类
public MyMockClient : MyClient
new public ReturnType MyMethod()
{
...
但是基础构造函数会导致各种问题,我不想在测试项目中添加另一个服务引用。
我错过了一个技巧,这可以在没有任何第三方模拟工具的情况下完成吗?
【问题讨论】:
标签: silverlight wcf unit-testing mocking