【发布时间】:2011-03-14 19:55:12
【问题描述】:
我是 mocking 新手,我很难解决 UnitTesting 的问题。
假设我有这个代码:
public class myClass{
private IDoStuff _doer;
public myClass(IDoStuff doer){
_doer = doer;
}
public void Go(SomeClass object){
//do some crazy stuff to the object
_doer.DoStuff(object) //this method is void too
}
}
好的,所以我想对 Go 方法进行 UNIT 测试。我不在乎 _doer 对象一旦得到它对对象做了什么。
但是,我确实想检查 _doer 对象收到了什么。
在 PSEUDO 代码中我想实现这一点:
[Test]
public void MyTest()
{
IDoStuff doer = Mocker.Mock<IDoStuff>();
Guid id = Guid.NewGuid();
//test Go method
new MyClass(doer).Go(new SomeClass(){id = id});
Assert.AreEqual(id,MockingFramework.Method(DoStuff).GetReceived<SomeClass>().id);
}
这是否可以使用 Rhino 实现,如果可以,我该如何实现?
干杯
【问题讨论】:
标签: c# unit-testing mocking rhino-mocks