Java 使用Powermock通过.andReturn(布尔arg0)返回原语

Java 使用Powermock通过.andReturn(布尔arg0)返回原语,java,junit,powermock,Java,Junit,Powermock,我不断地得到一份工作 java.lang.IllegalStateException: incompatible return value type 当我运行测试时。问题似乎是: expect(userName.contains("@")).andReturn(false); 在我的代码中,我检查字符串(在本例中为用户名)是否包含“@”符号。在我的测试中,我想返回false,以便测试特定的行为。该方法预期的返回类型似乎是“Boolean arg0”,但是从我在网上看到的示例来看,您应该能

我不断地得到一份工作

java.lang.IllegalStateException: incompatible return value type 
当我运行测试时。问题似乎是:

expect(userName.contains("@")).andReturn(false); 
在我的代码中,我检查字符串(在本例中为用户名)是否包含“@”符号。在我的测试中,我想返回false,以便测试特定的行为。该方法预期的返回类型似乎是“Boolean arg0”,但是从我在网上看到的示例来看,您应该能够传回一个基元类型

这是一种基本体与对象的情况吗?如果是这样,是否可以使用Powermock在.andReturn()中传递一个原语


谢谢

您可以尝试返回
new Boolean(false)
expect(userName.contains(“@”).andReturn(new Boolean(false))
会产生同样的错误。我希望您正在调用
addMockedMethod
来设置期望值的方法。这提出了一个很好的观点-我们可以了解更多的情况吗?您能否具体说明您使用的是EasyMock还是Mockito?看起来像EasyMock,但最好确定一下。@请回复上面的评论