我知道在Junit中,类扩展TestCase不能支持@Before和@After.但它仍然允许使用@Test?
我知道没有@Test,如果我们想运行这个类,我们可以覆盖runTest方法并定义要调用的方法.这不方便.因为如果我们在这个类的方法中标记@Test,它可以直接运行.谁能告诉我关于如何用@Test调用这个类的方法的机制?
顺便说一下,如果我想在TestSuite中加入大量测试,我应该选择一个类扩展TestCase还是用@Test定义一个任意类作为单一测试类?
TestCase类来自Junit 3,不应在Junit 4 +类中使用.
如果您扩展TestCase并使用Junit 3 Test运行程序,那么您的测试方法名称需要以"test"一词开头.(Junit 3测试运行器使用Java反射来查找和调用以"test"开头的所有方法)
依赖于TestClass阻碍了测试类的设计,因为你被迫扩展了那个让某些东西难以测试的类.还没有任何东西等同于Junit4的@BeforeClass或@AfterClass,这意味着你必须完成所有更复杂的多测试夹具设置并自行拆除.
要一次运行许多Junit4测试类作为Test Suite,您可以使用@RunWith和@SuiteClasses注释创建一个新的空类,如下所示:
import org.junit.runner.RunWith;
import org.junit.runners.Suite;
import org.junit.runners.Suite.SuiteClasses;
@RunWith(Suite.class)
@SuiteClasses(
{
TestClassA.class,
TestClassB.class
}
)
public class MyTestSuite{
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2122 次 |
| 最近记录: |