Java JMockit模型类和Mockito/mock等效类

Java JMockit模型类和Mockito/mock等效类,java,unit-testing,mockito,jmockit,Java,Unit Testing,Mockito,Jmockit,我试图将使用JMockit的测试套件转换为使用Mockito和powermock 在测试设置中,有以下代码片段: new MockUp<Controller>() { @Mock public boolean sendMessage(final String string1, final String string2) { queue.add(string1); return true; } }; 新模型(){ @

我试图将使用JMockit的测试套件转换为使用Mockito和powermock

在测试设置中,有以下代码片段:

 new MockUp<Controller>() {
     @Mock
     public boolean sendMessage(final String string1, final String string2) {
        queue.add(string1);
        return true;
     }
  };
新模型(){
@嘲弄
公共布尔sendMessage(最终字符串string1,最终字符串string2){
queue.add(string1);
返回true;
}
};
我猜这意味着无论何时在测试期间调用该方法,都要使用这个模拟实现。这是正确的吗

还有Mockito或Powermock中的实体模型吗


谢谢大家!

与其尝试直接翻译JMockit代码,不如使用Mockito习惯用法重写测试

使用mockito的单元测试通常遵循以下形式:

  • 创建模拟对象(通常在设置中完成,或使用注释完成)
  • 使用Mockito.when存根任何必要的方法
  • 调用正在测试的代码
  • 对测试代码的状态和/或返回值进行断言
  • 使用Mockito.Verify验证预期的交互

  • 我不知道实体模型实际上是做什么的,但这看起来像是存根的一部分。如果您仍然需要调用
    queue.add
    ,则可以在应答中执行此操作。如果该queue.add只是用于验证每个调用的
    string1
    ,那么您可以在不使用队列的情况下执行该操作。

    正确,它的意思正是这样。据我所知,在任何其他模拟API中都没有类似的
    MockUp
    。我的坏:-)。无论如何,我坚持我的答案。