无法在JUnit套件中添加测试类

时间:2018-03-06 12:29:45

标签: java eclipse junit

我使用Eclipse Oxygen和JUnit 5.我有一个带有方法的类和3个测试用例,方法可以正常工作。当我尝试创建一个JUnit测试套件,通过new / other / Java / JUnit / Junit测试用例在测试套件的窗口中对所有案例进行分组时,"测试类包含在套件中#34;尽管一切都在一个包中,甚至设置为公开。我创建测试套件并手动输入我想要包含在测试套件中的类。

package testing;

import org.junit.runner.RunWith;
import org.junit.runners.Suite;
import org.junit.runners.Suite.SuiteClasses;

@RunWith(Suite.class)
@SuiteClasses({oddNumberOfLettersPalindromeTest.class, 
evenNumberOfLettersPalindromeTest.class, notAPalindromeTest.class})
public class AllTests {
}

当我运行AllTest套件时,我只获得相同AllTest套件类的1/1运行。我所有的JUnit测试都有@Test

5 个答案:

答案 0 :(得分:0)

如果我错了,请纠正我,但是你是否想在每次foreach测试时添加新课程?在这种情况下,您可以在JUnit中使用@Before标记。它的作用是每次命中@Test时都会生成一个新类。

private TestClass test;

@Before
public void setUp()
{
test = new TestClass();
//You can declare other classes right here
}

答案 1 :(得分:0)

你试过这个例子吗?

JUnit - Suite Test - Tutorials Point

答案 2 :(得分:0)

它与JUnit的版本有关,在我的笔记本电脑上它是JUnit 5和eclipse氧气,现在我在JUnit4和eclipse火星上,一切正常。我只想在一个套件中组合几个测试用程序

答案 3 :(得分:0)

看起来您的测试套件没有导入您想要触发的测试用例。此外,显然您的测试用例不遵循类命名模式(从小写开始,依此类推)。

package testing;

import org.junit.runner.RunWith;
import org.junit.runners.Suite;
import org.junit.runners.Suite.SuiteClasses;
import OddNumberOfLettersPalindromeTest;
import EvenNumberOfLettersPalindromeTest;
import NotAPalindromeTest;

@RunWith(Suite.class)
@SuiteClasses({OddNumberOfLettersPalindromeTest.class, 
EvenNumberOfLettersPalindromeTest.class, NotAPalindromeTest.class})
public class AllTests {
}

我相信通过这样做,它没有理由工作。

答案 4 :(得分:-2)

尝试在构建路径中将Junit版本更改为Junit4 - >库。