我有一个单元测试工作正常,当它击中一个真正的对象,打击真正的数据存储。这样的事情:
[TestMethod]
public void ATest()
{
var p = new Provider();
var data = p.GetData();
...
}
此测试在所有模式下执行,获取数据并执行从中执行的所有操作。现在,假设我想使用Rhino Mocks来模拟提供者。 Provider类实现IProvider。所以我去写这样的东西:
[TestMethod]
public void ATest()
{
var p = MockRepository.GenerateStub<IProvider>();
...
var data = p.GetData();
...
}
但是现在当我尝试调试此测试时,它不起作用。完全没有。我的意思是,我在这个方法的第一行放置一个断点(在'{'本身)并且它没有被击中。有点奇怪...
我是Rhino Mocks的新手,也许我错过了一些明显的东西?
答案 0 :(得分:0)
您没有在模拟上为GetData调用定义返回值。尝试这样的事情:
p.Stub(s => s.GetData()).Return(testData);