- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
因为我使用的是 RhinoMocks 3.6 版并且我没有使用 Record-Replay 并且我没有调用 Verify 方法来对模拟进行断言;
你能解释一下非常简单的区别吗?
MockRepository.GenerateMock()
MockRepository.GeneratePartialMock()
MockRepository.GenerateStrictMock()
注意:我一直使用 .GenerateMock 来创建我的模拟,并且我已经通过提供参数期望来断言方法调用。
最佳答案
如果您在 StrictMock
上没有创建任何期望,并且在模拟上调用了一个方法,则会抛出异常。
如果您在 PartialMock
上没有创建任何期望,并且在 mock 上调用了一个方法,则不会发生任何特殊情况。如果该模拟派生自基类,则调用会渗透到现有的基类实现。
还有一个叫做 DynamicMock
的东西。如果您在 DynamicMock
上没有创建期望,并且在 mock 上调用了一个方法,则会调用一个 stub 方法。如果有返回值,则返回默认值(例如 null
或 0
)。
GenerateMock
我相信创建了一个 DynamicMock
。
Ayende 选择了这个默认值,因为他建议仅使用 DynamicMock
和 Stub
。 StrictMock
创建了脆弱的测试,并且通常违反了每次测试只验证一种行为的概念。
我还看到他说,从严格的模拟开始,一旦您对被测代码的行为感到满意,就可以将测试返回到动态模拟/ stub ,这很有用。没有那个链接:)
关于c# - 你能解释一下 StrictMock 和 Partialmock 之间的区别吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7831404/
我有一个 StrictPartialMock(使用 createStrictPartialMock(class, "method1") 创建)。和一个普通的 mockedObject。 我想测试 me
我正在使用 Google Guice 作为 DI 框架,并且正在为使用 Google Guice 的类编写单元测试。我也在尝试进行部分模拟。 这是我写的代码 class Test1 { def
我正在使用 Google Guice 作为 DI 框架,并且正在为使用 Google Guice 的类编写单元测试。我也在尝试进行部分模拟。 这是我写的代码 class Test1 { def
因为我使用的是 RhinoMocks 3.6 版并且我没有使用 Record-Replay 并且我没有调用 Verify 方法来对模拟进行断言; 你能解释一下非常简单的区别吗? MockReposit
我有一个类似这样的类 public class MyClass { public virtual string MethodA(Command cmd) { //some code here}
我是一名优秀的程序员,十分优秀!