我使用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
答案 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)
你试过这个例子吗?
答案 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 - >库。