Java Maven项目GitHub CI/CD配置:解决JUnit测试未执行问题
Maven项目GitHub Actions自动运行JUnit测试的正确配置
将以下内容保存为.github/workflows/maven-test.yml文件:
name: Maven Test on: [push, pull_request] jobs: build: runs-on: ubuntu-latest steps: - name: Checkout code uses: actions/checkout@v4 - name: Set up JDK uses: actions/setup-java@v4 with: java-version: '17' # 根据你的项目JDK版本调整,比如8、11等 distribution: 'temurin' cache: maven - name: Execute JUnit tests run: mvn test --batch-mode
关键配置说明
on: [push, pull_request]:触发条件,代码推送或创建PR时自动执行测试cache: maven:缓存Maven依赖包,大幅缩短后续构建时间mvn test:直接调用Maven的test目标,自动识别并运行符合规范的测试用例
排查"运行0个测试"的常见原因
- 目录结构不符合Maven规范:确保主代码放在
src/main/java,测试代码放在src/test/java - 测试类命名不匹配默认规则:Maven Surefire插件默认只执行命名为
*Test.java、Test*.java或*TestCase.java的类,你的RobotMotionTest.java符合要求,若需自定义规则需在pom.xml中配置插件 - JUnit依赖配置错误:检查pom.xml是否正确引入JUnit依赖,以JUnit 5为例:
<dependencies> <dependency> <groupId>org.junit.jupiter</groupId> <artifactId>junit-jupiter-api</artifactId> <version>5.9.2</version> <scope>test</scope> </dependency> <dependency> <groupId>org.junit.jupiter</groupId> <artifactId>junit-jupiter-engine</artifactId> <version>5.9.2</version> <scope>test</scope> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <version>3.1.2</version> </plugin> </plugins> </build>
- 测试方法未加注解:确保测试方法上标注了对应版本的
@Test注解(JUnit 5用org.junit.jupiter.api.Test,JUnit 4用org.junit.Test)
内容的提问来源于stack exchange,提问作者Br0grammer
相关产品推荐
相关产品推荐

