在NBehave中使用具有多个场景的Mocks

时间:2009-06-26 14:59:45

标签: rhino-mocks nbehave

我正在使用NBehave写出我的故事并使用Rhino Mocks来模拟被测系统的依赖关系。

但是,当从一个场景移动到下一个场景时,我在重置模拟依赖项中的预期行为时遇到了问题。

我只想断言我的存储库中的save方法是在两种情况下调用的:

dependancyRepository.AssertWasCalled( ear =>
    ear.Save(
        Arg<IDependancy>.Is.Equal(dependency)
    )
)

但是在每个场景中都会调用它,并且在我的第二个场景中失败,因为Rhino Mocks希望它只被调用一次。我不想被迫使用明确的预期,但它看起来我也会有。

有一些关于NBehave与Rhino Mocks的例子,但我不能有一个有多个场景的例子。还有一些有NBehave和多个场景,但没有嘲笑。

还有其他人遇到过这个问题吗?

干杯

2 个答案:

答案 0 :(得分:0)

如果您不希望断言在每个方案中调用.Save(...),则不要为每个方案设置该期望,仅将其设置为您期望的方案被称为。

如果这不能回答您的问题,请通过更多信息澄清您的问题;目前还不清楚你要做什么。

答案 1 :(得分:0)

在相关方案的Then子句中进行AssertWasCalled调用,而不是在任何其他方案中进行。