模拟java对象进行单元测试

zfr*_*cus 2 java unit-testing mocking

我正在寻找一个好的单元测试框架,我可以用它来模拟可以在JDK 1.4.2下运行的私有方法.

干杯,

Rom*_*las 11

尝试Mockito,你一定会喜欢它!

您可以在此博客文章中查看此库,其中显示了6个简单的Mockito用法示例.

一个简短的例子:

@Test
public void iteratorWillReturnHelloWorld(){
    //arrange
    Iterator i = mock(Iterator.class);
    when(i.next()).thenReturn("Hello").thenReturn("World");
    //act
    String result = i.next() + " " + i.next();
    //assert
    assertEquals("Hello World", result);
}
Run Code Online (Sandbox Code Playgroud)

根据您的要求编辑:

看起来Mockito在Java 1.4和JUnit 3上运行得很好,正如这篇博文中所述.

与上面相同的示例,但对于Java 1.4:

public void testIteratorWillReturnHelloWorld(){
    //arrange
    Iterator i = Mockito.mock(Iterator.class);
    Mockito.when(i.next()).thenReturn("Hello").thenReturn("World");
    //act
    String result = i.next() + " " + i.next();
    //assert
    assertEquals("Hello World", result);
}
Run Code Online (Sandbox Code Playgroud)