【发布时间】:2011-12-17 09:46:56
【问题描述】:
我一直在努力寻找解决方案,但要么我一直在寻找错误的搜索词,要么我的问题还没有答案。
问题: 我有一个我想为其编写单元测试的方法。在这个方法中有一个我无法真正解决的外部依赖,所以我必须使用 Moles 来创建我的单元测试。
此外部依赖项包含一个实例上的方法,该方法被多次(两次)调用,第二次我想用 Moles 返回一个不同的值。
...
bool myVar = SomeInstance.SomeMethod(); // Here I'd like to return true
if( myVar )
...
...
bool myOtherVar = SomeInstance.SomeMethod(); // Here I'd like to return false
...
现在我通常会这样设置
MSomeInstance.SomeMethod.AllInstances.SomeMethod = @this => true;
但是我怎样才能对两个调用有不同的行为呢?当我在上面一行之后写另一行并返回“false”时,这会“覆盖”第一行,所以我总是会得到 false。
有什么想法吗?
【问题讨论】: