Aar*_*nHS 1 .net c# unit-testing dependency-injection
很简单,我想找出的是,是否有任何方法可以干净地对这段代码进行单元测试?我可以实例化它并运行一些断言,但我的意思是实际的单元测试,我将模拟服务对象以删除被测类的任何依赖性,并且实际上让它仅测试此类而不测试其依赖的服务(在本例中为 ConcreteService)。
public class Foo{
public SomeResult DoSomething(){
var service = new ConcreteService();
var foo = service.Execute();
return foo;
}
}
Run Code Online (Sandbox Code Playgroud)
我的正常方法是不在我的代码主体中创建这种类型的对象,但是考虑到无法更改此对象的情况,我对它进行单元测试的选项是什么?
考虑到约束(你不能修改/重新编译该代码),恐怕除了“集成测试”之外你无能为力——真正的依赖关系,缓慢的测试。
在方法中实例化依赖项,而不是接受它作为构造函数或方法参数,会使事情变得困难。
正如伊森所说,有鼹鼠(但对我个人来说,这似乎不太正确)。我更喜欢设计更改,而不是帮助我掩盖设计问题的框架。
| 归档时间: |
|
| 查看次数: |
1724 次 |
| 最近记录: |