当前位置: 首页 > 知识库问答 >
问题:

不依赖地运行多个JUnit5测试用例

拓拔弘厚
2023-03-14

我想知道如何执行一个文件或实体来理解我现在要运行指定的JUnit5案例列表?

我知道JUnit5中的一些类似于测试套件的新功能即将出现,但它们显然现在还没有出现,期望在不久的将来出现可能过于乐观了。我现在已经积累了几个测试,接下来还有几个,必须独立地启动每个测试越来越乏味,随着测试数量的增加,这种情况只会变得更糟。今天我是否可以编写代码来自动一次运行多个测试?这将使我渡过难关,直到即将到来的代码可用。-)

我一直试图自己拼凑一些东西,但似乎超出了我的能力。

共有1个答案

司空和悌
2023-03-14

您可以使用CLI选项

  -c, --select-class=CLASS   Select a class for test discovery.
                             This option can be repeated.
  -m, --select-method=NAME   Select a method for test discovery.
                             This option can be repeated.

ConsoleLauncher,可以通过编程方式或独立的JAR进行,如下所述:https://junit.org/junit5/docs/current/user-guide/#running-tests-console-launcher

下面是一个修改过的Gradle代码片段,它从JUnit5用户指南项目中选择了3个测试用例:

val consoleLauncherTest by tasks.creating(JavaExec::class) {
    dependsOn("testClasses")
    val reportsDir = file("$buildDir/test-results")
    outputs.dir(reportsDir)
    classpath(sourceSets["test"].runtimeClasspath)
    main = "org.junit.platform.console.ConsoleLauncher"

    // "select all classes available" via args("--scan-classpath") or
    // supply a set of classes via "--select-class":

    args("--select-class", "example.JUnit4Tests")
    args("--select-class", "example.FirstJUnit5Tests")
    args("--select-class", "example.DisplayNameGeneratorDemo")

    args("--details", "tree")
    args("--include-classname", ".*Tests")
    args("--include-classname", ".*Demo")
    args("--exclude-tag", "exclude")
    args("--reports-dir", reportsDir)
    systemProperty("java.util.logging.manager", "org.apache.logging.log4j.jul.LogManager")
}
 类似资料:
  • 我有一个包含以下文件的Java项目: C:\MyProject\myPackage\MyTests.class C:\MyProject\lib\junit-platform-console-standalone-1.5.2.jar C:\MyProject\lib\other-library.jar MyTests 文件是使用 IDE 编译的,该 IDE 具有 junit-platform-co

  • 我得堆栈: 想法2019.1.3 Springboot 2.1.6 Java 11 Maven 3.8.0 Groovy 2.5 史巴克1.3 JUnit jupiter 5.5.1 JUnit vintage 5.5.1 GMavenPlus插件2.7.1 我们想开始在Spock测试框架中编写测试。我跟着这个howto,但没有成功。当我尝试运行所有测试时,我的spock测试没有运行。 我能运行一

  • 我遇到了无法使用Maven运行JUnit5测试的问题。在IDE中运行它们工作正常,但使用“mvn测试”会产生以下输出: 这是我的测试课程: pom: 我做了一些研究,我认为这可能与混合JUnit4和JUnit5特性有关,这导致maven surefire插件无法运行测试。然而,我找不到那些剩余的JUnit4特性可能在哪里。我将感谢任何帮助。

  • 有一种方法可以运行junit测试,只需在“mvn clean install”命令中添加参数?没有使用@Profile注释测试。

  • 右键点击Run可以很好地工作。我用 Intellijidea 2017.1.5, Gradle, JunitPlatformVersion='1.0.0-M6', JunitJupiterVersion='5.0.0-M6'

  • 我已经使用Spring Initializer、嵌入式Tomcat Thymeleaf模板引擎生成了一个Spring Boot web应用程序,并将其打包为一个可执行的JAR文件。 使用的技术: Spring引导1.4.2。释放,Spring4.3.4。释放,胸腺2.1.5。释放,Tomcat嵌入8.5.6,Maven 3,Java8 我有一个测试: 但是我运行测试时遇到了这个错误: