如何使用 easyMock 模拟 .equal() 方法

How To Mock a .equal() method using easyMock

我有以下代码段要在 if 块中测试

   if("anyString".equals("anyString")){
      //body
    }

我如何使用如下简单的模拟来测试上面的内容

让我们以 Chair 作为基础 class 和 returns 它命名的 getName() 方法

expect(chair.getName()..eq("string")).andReturn(true);

它抛出一个 InvocationTargetException

感谢任何帮助

这是两个字符串。模拟一个 String 是没有意义的。您的 expect 目前没有意义 请参阅 EasyMock documentation.

如果我们说chair是mock,而你想要getName()到returnstring,那就是expect(chair.getName()).andReturn("string");

我认为这与您的问题无关,但 equals 不能被嘲笑。这是 EasyMock 内部使用的一种特殊方法。 equalstoStringhashCode 无法模拟。