代码之家  ›  专栏  ›  技术社区  ›  manuel aldana

记录注释的测试、模拟框架支持(首选EasyMock解决方案)

  •  0
  • manuel aldana  · 技术社区  · 14 年前

    我们开发了一些代码来分析带注释的方法并添加一些运行时行为。我想测试一下。目前,我正在手工编写存根,其中包含一些用于设置测试用例的注释。

    通常我使用模拟框架(目前是easymock)来避免手工编写测试双重代码(stub或mock)。但是我还没有找到一种方法来使用mocking框架来注释我的测试double。这是很麻烦的,因为它涉及到很多愚蠢的伪源代码,这是令人讨厌的维护(读,写和重构测试)。

    类似于:

    
    MyAnnotation annoMock = createMock(MyAnnotation.class);
    record(annoMock.getSupported()).andReturn(true);
    ....
    annotate(method).with(annoMock);
    
    

    有人知道easymock是否有这样的记录特性,特别是对于注释(所有目标,如方法、类、字段等)?如果easymock没有可用的模拟库,还有其他的吗?

    1 回复  |  直到 14 年前
        1
  •  0
  •   Community George Stocker    7 年前

    我不知道用什么简单快捷的方法来做你描述的事情,但是请看下面的第二个答案 related thread here on SO . 听起来有点怪,我不确定这种方法是否适用于用easymock创建的模拟对象。但如果有人成功地做到了这一点,肯定会有人感兴趣的:)