【发布时间】:2011-01-07 22:20:58
【问题描述】:
我有一个类似于以下的类:
public class MyProxy : ClientBase<IService>, IService
{
public MyProxy(String endpointConfiguration) :
base(endpointConfiguration) { }
public int DoSomething(int x)
{
int result = DoSomethingToX(x); //This passes unit testing
int result2 = ((IService)this).DoWork(x)
//do I have to extract this part into a separate method just
//to test it even though it's only a couple of lines?
//Do something on result2
int result3 = result2 ...
return result3;
}
int IService.DoWork(int x)
{
return base.Channel.DoWork(x);
}
}
问题在于,在测试时,我不知道如何模拟 result2 项目,而不会将使用 result2 获得 result3 的部分提取到单独的方法中。而且,因为它是单元测试,所以我不想深入测试 result2 返回的结果......我宁愿以某种方式模拟数据......就像,能够调用函数并替换它一个电话。
【问题讨论】:
标签: c# unit-testing visual-studio-2010 mocking