【发布时间】:2015-07-07 12:37:20
【问题描述】:
我想测试一个方法是否在测试中被调用过。
我的问题是,当我想创造期望时,它并没有像我想象的那样工作。下一行实际运行该方法,不仅创建了一个期望:
Expect.Call(() => mockedService.MethodThatIExpectToRun(params));
还有一种方法:
mockedService.Expect((s=> s.MethodThatIExpectToRun(params)));
但这实际上也运行了方法,不仅创建了一个期望被测试实现。
并且断言该方法是否被调用的这一行实际上也调用了该方法,不仅检查它是否被调用。
mockedService.AssertWasCalled(s=> s.MethodThatIExpectToRun((params)));
附加信息:
MethodThatIExpectToRun 返回void
对于prgmtc的评论:
IService mockedService = MockRepository.GeneratePartialMock<Service>(mockedRepository_1, ..., mockedRepository_n);
【问题讨论】:
-
mockedService的运行时类型是什么?它是由 RhinoMocks 创建的动态模拟对象吗?你是在模拟一个接口还是一个具体的类?
-
它是一个partialMock。我需要将一些模拟存储库传递给它,并且我需要对服务类的一些方法进行存根。我也刷新了这个问题。
标签: unit-testing nunit rhino-mocks