2013-08-26 37 views
0

我想为java.i中的以下函数编写一个测试,以模拟创建数组。嘲笑使用powermock创建数组java

@Test 

public void test1() 
{ 

File f1 = createMock(File.class); 

File[] files = new File[]{f1}; 

expectNew(File[].class).andReturn(fArray); 

replayAll(); 

File[] res = myclass.myFunc(); 

verifyAll(); 

assertEquals(f1, res[0]); 

} 

它抛出具有以下消息的异常: org.powermock.reflect.exceptions.ConstructorNotFoundException: No constructor found in class java.io.file with parameter types:<none>

回答

0

的异常已经说明了:您尝试创建一个

public File[] myFunc() 
{ 

File[] array = new File[2]; 

return array; 

} 

我一直在使用powermock的java写了下面的测试没有指定构造函数参数的文件实例,但没有类java.io.File的参数的构造函数。异常的堆栈跟踪会告诉您尝试的代码位置。我猜想,它的File f1 = createMock(File.class);。检查powermock文档的替代品。

0

因为没有任何数值,所以我嘲笑这个数组的创建是没有意义的。一个更简洁的测试会是这样的:

@Test 
public void test1() { 
    File[] result = myclass.myFunc(); 
    assertEquals(2, result.length); 
    for (File f : result) { 
     assertNull(f); 
    } 
}