我已根据所描述的方法使用每个方法使用一个内部类来组织我的junit测试:
Here, in a haacked article (about nunit testing)和
Here, in this SO question
public class TestMyThing {
public static class TestMyThingMethodOne {
@Test
public void testMethodOneDoesACertainBehaviour() {
// terse, clear testing code goes here
}
@Test
public void testMethodOneHasSomeOtherDesiredBehaviour() {
// more inspiring testing code here
}
}
public static class TestMyThingMethodTwo {
... etc
}
}
但是,当我尝试为此运行junit测试时,Eclipse会询问我要运行哪些内部类测试,而我只能选择一个。有没有一种方法可以指定我希望每个内部类中的每个测试都能运行TestMyThing类?
答案 0 :(得分:7)
我在this post的Eclipse论坛上问了我的问题,结果证明Eclipse可以运行所有内部类。我引用了我已经尝试过的回复,并且可以确认它的效果很好(即我可以使用一个命令调用内部类中的所有测试):
JUnit 4带有一个名为Enclosed的跑步者类,它可以满足你的需要。
使用注释外部类 @RunWith(Enclosed.class) with Enclosed = import org.junit.experimental.runners.Enclosed;
答案 1 :(得分:3)
通常你只需要创建单独的类(只使用默认构造函数的pojos),而不是将不同的单元测试打包到单个类中。由于你的内部类是静态的,所以这样做没有真正的优势。