首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >JUnit 0测试发现

JUnit 0测试发现
EN

Stack Overflow用户
提问于 2020-06-25 20:00:47
回答 1查看 344关注 0票数 1

我想编写一个简单的Testclass,其中添加两个数字:

代码语言:javascript
运行
复制
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,它会说:

代码语言:javascript
运行
复制
├─ JUnit Jupiter ✔
└─ JUnit Vintage ✔
[         2 containers found      ]
[         2 containers successful ]
[         0 tests found           ]

它找到了所有的“容器”,但没有找到添加数字的Testcase。(我用我课程中的脚本开始测试运行,所以问题必须出现在.java中)

我在控制台中运行的脚本是:

代码语言:javascript
运行
复制
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
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-06-25 21:05:56

例如,可以通过将类重命名为TTest来运行示例。

根据官方文件:https://junit.org/junit5/docs/5.0.0-M5/user-guide/#running-tests-console-launcher

-n,-- include -classname提供了一个正则表达式,仅包括其完全限定名匹配的类。为了避免不必要地加载类,默认模式只包括以"Test“或”Test“结尾的类名。当重复此选项时,所有模式都将使用OR语义进行组合。(缺省值:^.*测试?$)

因此,简单地说,您的类与默认模式不匹配,因此没有被框架选中。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62583425

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档