Tom*_*Tom 5 java hudson junit4 comparator
我创建了一个 SortedList 类,它有一个以 java.util.Comparator 作为参数的构造函数。
在我的机器上运行单元测试后(通过 eclipse 3.3.0),一切正常。但是,Hudson 抱怨说它不能实例化我的比较器。
这是我的简单测试(片段)
public class SortedListTest {
class strcmp implements Comparator<String>{
public strcmp(){}
public int compare(String s1,String s2){
return s1.compareTo(s2);
}
}
@Test
public void testAdd(){
SortedList<String> list = new SortedList<String>(new strcmp());
}
}
Run Code Online (Sandbox Code Playgroud)
或者另一种方式:
public void testAdd(){
SortedList<String> list = new SortedList<String>(new Comparator<String>(){
public int compare(String s1,String s2){
return s1.compareTo(s2);
}
});
}
Run Code Online (Sandbox Code Playgroud)
哈德森显示的错误是
ar.com.lib.SortedListTest$strcmp.initializationError0
错误信息
测试类应该有公共零参数构造函数
堆栈跟踪
java.lang.Exception: 测试类应该在 java.lang.reflect.Constructor.newInstance(Constructor.java:513) 在 java.lang.reflect.Constructor.newInstance(Constructor.java:513) 有公共零参数构造函数作者:java.lang.NoSuchMethodException:ar.com.lib.SortedListTest$strcmp.() at java.lang.Class.getConstructor0(Class.java:2706) at java.lang.Class.getConstructor(Class.java:1657)
我试过使用 @Ignore 注释,但到目前为止没有运气。当我尝试时它不会编译
@Ignore class strcmp{}
Run Code Online (Sandbox Code Playgroud)
任何想法将不胜感激。提前致谢。
java.lang.Exception:测试类应具有公共零参数构造函数
好吧,你的类有@Test一个公共的零参数构造函数吗?从您发布的内容无法判断这是否属实。
您可能还想正确地为内部类提供可访问性修饰符(public、protected等)并正确命名(类应以大写字母开头)。如果这些类是通过反射调用的,那么 JUnit 运行程序总是可能对格式和命名规则做出某些假设......
| 归档时间: |
|
| 查看次数: |
10946 次 |
| 最近记录: |