我想编写一个简单的Testclass,其中添加两个数字:
import org.junit.jupiter.api.*;
import static org.junit.jupiter.api.Assertions.*;
public class ttest {
private final ttest tT = new ttest();
public int add(int one, int two) {
return one + two;
}
@Test
public void eq() {
int result = tT.add(1, 2);
assertEquals(result, 3);
assertTrue(result == 3);
}
}
它编译正确,但是如果我在控制台中运行Test,它会说:
├─ JUnit Jupiter ✔
└─ JUnit Vintage ✔
[ 2 containers found ]
[ 2 containers successful ]
[ 0 tests found ]
它找到了所有的“容器”,但没有找到添加数字的Testcase。(我用我课程中的脚本开始测试运行,所以问题必须出现在.java中)
我在控制台中运行的脚本是:
javac --class-path="junit-platform-console-standalone-1.6.2.jar" ttest*.java
java -jar junit-platform-console-standalone-1.6.2.jar --class-path="." --scan-class-path
发布于 2020-06-25 13:05:56
例如,可以通过将类重命名为TTest
来运行示例。
根据官方文件:https://junit.org/junit5/docs/5.0.0-M5/user-guide/#running-tests-console-launcher
-n,-- include -classname提供了一个正则表达式,仅包括其完全限定名匹配的类。为了避免不必要地加载类,默认模式只包括以"Test“或”Test“结尾的类名。当重复此选项时,所有模式都将使用OR语义进行组合。(缺省值:^.*测试?$)
因此,简单地说,您的类与默认模式不匹配,因此没有被框架选中。
https://stackoverflow.com/questions/62583425
复制