我有一个Suite类如下:
package test.suite;
import org.junit.platform.runner.JUnitPlatform;
import org.junit.platform.suite.api.SelectPackages;
import org.junit.platform.suite.api.SuiteDisplayName;
import org.junit.runner.RunWith;
@RunWith(JUnitPlatform.class)
@SuiteDisplayName("JUnit Platform Suite Demo")
@SelectPackages("test")
public class Suite {
}
和两个完全相同的测试类(目前它们的区别仅在于它们的名称)在同一个名为test的包中:
package test;
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.*;
public class testClass1 {
@Test
void mainA() {
assertTrue(42==42);
}
当我在“Suite”上点击run时,只有testClass 1会被测试,testClass 2会被忽略。我遗漏了什么?
如果我没有弄错的话,这个套件甚至应该递归地测试给定包中其他子包的类。
--EDIT:最初我为同一个类创建了两个测试类,第二个测试类被忽略了。如果我在包中添加了第三个测试类,但这次是一个单独的类,它将按预期进行测试。
1条答案
按热度按时间dfddblmv1#
我也遇到了同样的问题。我有几个文件,在我的情况下,当我运行作为套件,其中一些将包括在内,其他不会。这是相当令人沮丧的,因为我可以运行他们单独罚款。
结果发现没有包含的是那些名字不是以Test结尾的,比如ClassA就不会被添加,但是一旦我重命名为ClassATest,它就在作为套件包特性运行时被添加了。