Junit5@BeforeEach不会在jenkins中执行/看到?

xjreopfe  于 2023-08-03  发布在  Jenkins
关注(0)|答案(1)|浏览(143)

在Jenkins上运行Junit 5测试(localhost)可以工作,但BeforeEach,AfterEach钩子不会触发。令人惊讶的是,当我在intelliJ IDE中运行那些引用Jenkins使用的相同路径/目录的钩子时,钩子执行。
单元测试类示例:

import org.junit.jupiter.api.*;
 @BeforeEach
    public void beforeEach() throws Exception {
        System.out.println("BeforeEach");
    }

字符串
pom.xml junit部分:

<dependency>
            <groupId>org.junit.jupiter</groupId>
            <artifactId>junit-jupiter-engine</artifactId>
            <version>5.8.2</version>
            <scope>test</scope>
  </dependency>


在Jenkins上运行时,我没有收到任何错误和警告,它只是被跳过了。在实际的@Test中插入@BeforeEach逻辑,但显然我不希望这样。
我使用maven来执行测试:mvn test -Dtest=unittest.partner.SampleTests

hvvq6cgz

hvvq6cgz1#

在尝试了各种各样的东西后,这个工作:插入maven-surefire-plugin内部pom.xml内部

<plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-surefire-plugin</artifactId>
        <version>3.1.2</version>
        <dependencies>
            <dependency>
                <groupId>org.junit.jupiter</groupId>
                <artifactId>junit-jupiter-engine</artifactId>
                <version>5.9.1</version>
            </dependency>
        </dependencies>
    </plugin>

字符串

相关问题