我遇到了Eclipse Kepler Service Release 1中最奇怪的问题。我设置了一个类,通过扩展junit.framework.TestCase
来实现一些测试用例,如下所示:
import junit.framework.TestCase;
public class PublicTests extends TestCase {
@Override
public void setUp(){
...
}
然后我添加了一些public void
测试用例方法,其所有名称都以前缀test
开头。例如,testBasicAdd
。然后,我添加了另一个名为public void
的{{1}}测试用例方法,当我运行所有测试用例时,该特定的测试用例甚至都没有被识别为测试用例,因此无法运行。我通过删除所有其他方法确保它实际上没有被识别为测试用例,从而创建stressTestForAdd()
的实例,TestCase
作为唯一的测试用例,当我重新运行套件时收到一个整洁的stressTestForAdd
说我没有在我的文件中创建任何测试用例。当我向我的方法添加前缀AssertionError
时,创建了一个笨拙的名称test
,该测试用例被识别出来。
我没有遇到过需要在相关文献中的任何地方的jUnit测试用例中使用testStressTestForAdd
前缀,甚至不是约定。这可能是Eclipse的错误吗?任何人都可以解释一下吗?
答案 0 :(得分:4)
在JUnit的早期版本中,例如JUnit 3,只要方法名称以test
e.g。
public void testGetName()
在JUnit 4中,引入了对注释的支持,因此在JUnit 4中,只要您使用@Test
e.g。
@Test
public void getName()