【问题标题】:EasyMock Long null match in method parameterEasyMock 方法参数中的长空匹配
【发布时间】:2013-08-02 02:58:30
【问题描述】:

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

测试应该与字符串完全匹配,确保 Long 为 null 并确保传递的自定义对象是正确的 type .

类似:

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

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

我不能输入EasyMock.isNull(),因为它将是一个特定的匹配,并且泛型和细节不能放在一起。有什么建议吗?

【问题讨论】:

    标签: java unit-testing easymock


    【解决方案1】:

    我不明白你为什么不能使用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)));
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-01-14
      相关资源
      最近更新 更多