Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/391.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/unit-testing/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 为单元测试部分模拟对象_Java_Unit Testing_Easymock - Fatal编程技术网

Java 为单元测试部分模拟对象

Java 为单元测试部分模拟对象,java,unit-testing,easymock,Java,Unit Testing,Easymock,我使用easymock进行单元测试。我试图在测试类中模拟一个方法 ServiceEJB partialMockServiceEJB = EasyMock .createMockBuilder(ServiceEJB.class) .addMockedMethod("getStatusType") .createMock(); 但它抛出了一个错误:多个同名方法。我已经用不同数量的参数覆盖了这个方法。如何显示我想要的这些重写方

我使用easymock进行单元测试。我试图在测试类中模拟一个方法

ServiceEJB partialMockServiceEJB = EasyMock
            .createMockBuilder(ServiceEJB.class)
             .addMockedMethod("getStatusType")
            .createMock();
但它抛出了一个错误:多个同名方法。我已经用不同数量的参数覆盖了这个方法。如何显示我想要的这些重写方法中的哪一个?我如何在这里应用参数


谢谢。

您可以使用以方法名称及其参数类型作为参数的方法,而不是只使用方法名称的
addMockedMethod()

您可以传入参数类型来区分重载方法,例如

PortalServiceEJB partialMockServiceEJB = EasyMock
            .createMockBuilder(ServiceEJB.class)
             .addMockedMethod("getStatusType", int.class)
            .createMock();

顺便说一句,这不是一个部分模拟,因为这里没有被部分模拟的真实对象。另外,你可能想把Mockito看作是一个嘲弄的框架,语法更好得多。我只是添加了int,但它不接受。我知道这是非常古老的,但我对“这不是一个部分模拟”的说法有点困惑。在EasyMock v3.6中,至少,
createMockBuilder
只调用了
partialMockBuilder
,使得它实际上是一个部分模拟(同样,至少>=3.6)。