3

我想匹配一个有 3 个参数的方法:一个 String、一个 Long 和一个 customObject

测试应该与 String完全匹配,确保 Long 为null并确保传递的自定义对象是正确的类型

就像是:

    EasyMock.expect(mockClass.myMethod(
                        EasyMock.eq("exact string"), 
                        EasyMock.isA(Long.class), 
                        EasyMock.isA(CustomObject.class)));

这与方法不正确匹配可能是因为 Long 应该为空。

我不能放EasyMock.isNull(),因为这将是一个特定的匹配,泛型和细节不能放在一起。有小费吗 ?

4

1 回答 1

9

我不明白你为什么不能使用isNull().

EasyMock.expect(mockClass.myMethod(
                    EasyMock.eq("exact string"), 
                    EasyMock.isNull(Long.class), 
                    EasyMock.isA(CustomObject.class)));

应该没事。或者

EasyMock.expect(mockClass.myMethod(
                    EasyMock.eq("exact string"), 
                    EasyMock.<Long>isNull(), 
                    EasyMock.isA(CustomObject.class)));

这也应该没问题。

你不能拥有的是

EasyMock.expect(mockClass.myMethod(
                    EasyMock.eq("exact string"), 
                    null, 
                    EasyMock.isA(CustomObject.class)));
于 2013-08-02T05:54:29.020 回答