gpt4 book ai didi

java - 获取要在 JUnit 5 中执行的测试类列表

转载 作者:行者123 更新时间:2023-12-01 18:34:03 24 4
gpt4 key购买 nike

我的套件中有一个测试,要求 Azure 的 OMS 资源中包含特定类型的日志。我的方法是在测试运行一开始、执行任何测试之前插入这些日志,并最后运行需要它们的特定测试装置。我这样做是因为 OMS 的 SLA 不可靠。日志不会立即出现在日志分析中,它们需要几分钟的时间才能传播。

我的问题是:是否可以查看 TestPlan 对象以查看要运行的类的列表?如果我没有运行需要它的装置(例如:运行整个套件的子集、调试单个测试等),我不需要执行此 OMS 日志注入(inject)。整个测试套件使用 mvn clean install 命令运行,我经常使用 intellij 中内置的 JUnit5 运行器执行和调试单个测试

最佳答案

在您自己的程序中启动 JUnit 平台,以发现 Jupiter 将执行的所有测试类。这样,您就可以获得每个注册测试引擎的测试计划的句柄:

LauncherDiscoveryRequest request = LauncherDiscoveryRequestBuilder.request()
.selectors(
selectPackage("com.example.mytests"),
selectClass(MyTestClass.class)
)
.filters(
includeClassNamePatterns(".*Tests")
)
.build();

Launcher launcher = LauncherFactory.create();

TestPlan testPlan = launcher.discover(request);

// Examine testPlan for Jupiter-based test classes...

参见https://junit.org/junit5/docs/current/user-guide/#launcher-api-discovery了解详情。

不,没有支持试运行模式的 Maven 插件。

关于java - 获取要在 JUnit 5 中执行的测试类列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60098669/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com