我宣读了依赖注入的好处, 我无法理解的一件事是
"可以使用模拟数据轻松完成DI测试"
无法清楚地了解如何使用模拟数据进行测试?
如何进行测试?
有人可以用简单的例子来解释吗?
答案 0 :(得分:0)
当你有这个类构造函数时:
Client(Service service) {
this.service = service;
}
您使用DI来解耦对象依赖项(在这种情况下,客户端具有服务强依赖性),因此您应用DI的基本形式:
Client(IService service){
this.service = service;
}
其中service现在是实现IService接口的每个对象 测试此类时,您可以通过模拟对象轻松地检测此服务依赖性:
private MockRepository _mocks;
[SetUp]
public void initialize()
{
_mocks = new MockRepository();
}
[Test]
public void should_be_able_to_get_the_right_work()
{
var myMockedservice = _mocks.DynamicMock<IService>();
var client= new Client(myMockedservice);
// some work
}
试试这篇不错的文章here