Unity中依赖属性的单元测试
本文关键字:单元测试 属性 依赖 Unity | 更新日期: 2023-09-27 18:15:23
我目前使用Unity, Rhinomocks, MVC4, MS Test.
是否有可能对使用如下依赖属性的类进行单元测试?
public class MyClass
{
[Dependency]
public IMyInterface MyObject { get; set; }
}
"
或者构造函数注入是唯一可行的方法?
为什么要在单元测试中使用DependencyResolver
?
如果你想用真正的IMyInterface
实现来测试MyClass
,例如
MyClass instance = new MyClass
{
// instantiate MyObject
}
或者如果您想模拟MyObject
,请使用RhinoMocks:
var mocks= new MockRepository();
MyClass instance = new MyClass
{
MyObject = mocks.DynamicMock<IMyInterface>();
}
DynamicMock是一个Stub,它将返回默认值,除非您设置了期望。或者您可以使用StrictMock,如果以任何方式使用它而没有设置期望,则会抛出异常。看看这篇文章