mvn执行制定的测试类或方法

本文介绍如何使用Maven的test属性来执行指定的测试类或方法,包括通配符的使用和多个测试方法的指定方式,并提供了配置示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Maven执行指定的测试类或方法,需要使用test属性。

运行测试类com.mytest.TestCircle

mvn -Dtest=com.mytest.TestCircle test
运行所有以Test开头已cle结尾的测试类
mvn -Dtest=com.mytest.Test*cle test
使用逗号分割要测试的类
mvn -Dtest=com.mytest.TestSquare,com.mytest.Test*cle test
使用#指定测试方法,使用*通配测试方法
mvn -Dtest=com.mytest.TestSquare#testABC,com.mytest.Test*cle test
mvn -Dtest=com.mytest.TestSquare#testA*,com.mytest.TestCircle test
使用+号指定一个类中的多个测试方法
mvn -Dtest=com.mytest.TestSquare#testABC+testEFG,com.mytest.TestCircle test

注意:写成如下方式是不行的,必须用加号来分割同一个类中测试方法。

mvn -Dtest=com.mytest.TestSquare#testABC,com.mytest.TestSquare#testABCtestEFG test  (JUnit测试报表中只有一个测试结果,另外一个被覆盖了)

在实际项目中遇到一个问题,就是使用下面的参数的时候

-Dtest=com.mytest.TestSquare#testABC+testEFG,com.mytest.TestCircle
找不到测试对象,把dependence surefire-junit47去掉后,就可以识别了。下面是Maven build配置。

        <plugins>
            <!-- unit tests: read more @ https://maven.apache.org/surefire/maven-failsafe-plugin/ -->
            <!-- default test case pattern: **/Test*.Java, **/*Test.java, **/*TestCase.java -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <version>2.16</version>
                <configuration>
                     <argLine>-Dfile.encoding=UTF-8</argLine>
                    <skipTests>${skip.tests}</skipTests>
                    <!-- systemPropertyVariables>
                        <propertyName>username</propertyName>
                        <buildDirectory>${username}</buildDirectory>
                        <propertyName>env</propertyName>
                        <buildDirectory>${env}</buildDirectory>
                        <propertyName>catalog</propertyName>
                        <buildDirectory>${catalog}</buildDirectory>
                      </systemPropertyVariables-->
                </configuration>
                <dependencies>
                    <dependency>
                        <groupId>org.apache.maven.surefire</groupId>
                        <artifactId>surefire-junit47</artifactId>
                        <version>2.16</version>
                    </dependency>
                </dependencies>

            </plugin>
            <!-- integration tests: read more @ http://maven.apache.org/surefire/maven-failsafe-plugin/ -->
            <!-- default test case pattern: **/IT*.java, **/*IT.java, **/*ITCase.java -->
        </plugins>


参考:http://maven.apache.org/surefire/maven-surefire-plugin/examples/single-test.html
### 测试工程师不同职级所需的技能和知识 #### 初级测试工程师 初级测试工程师主要负责执行手动测试案例,验证软件的功能是否按照预期运行。此级别的工程师通常需要掌握基本的计算机科学概念和技术,能够理解并编写简单的测试计划和测试用例。 - **基础知识** - 掌握至少一种编程语言的基础语法,如PythonJava。 - 熟悉常见的操作系统命令行工具。 - **测试理论** - 学习如何创建有效的测试场景来覆盖各种边界条件[^1]。 - 能够识别潜在的风险区域,并据此调整优先级。 ```python def test_basic_functionality(): """这是一个简单函数的例子""" result = add_numbers(2, 3) assert result == 5, f"Expected 5 but got {result}" ``` #### 中级测试工程师 中级测试工程师不仅继续承担起部分手工测试的任务,还会参与到自动化脚本编写的活动中去;同时也会参与更复杂的系统集成层面的工作当中。此时对于质量保障体系的理解更加深入,可以独立完成一些小型项目的全流程跟踪和支持工作。 - **高级技能** - 编写和维护持续集成(CI)/持续交付(CD)管道中的自动化的单元测试、接口测试和服务端到端(E2E)测试。 - 使用Jenkins、GitLab CI等CI/CD平台配置流水线作业。 - **沟通协作** - 提升跨部门间的交流效率,在产品迭代过程中及时反馈发现的问题给相关部门人员知道。 - 参加敏捷开发会议(Scrum),贡献自己的见解帮助团队更好地实现目标。 ```bash # Jenkinsfile 示例片段 pipeline { agent any stages { stage('Build') { steps { sh 'mvn clean install' } } ... } } ``` #### 高级测试工程师 / 测试架构师 在这个层次上,除了精通上述提到的各项技术和方法之外,还需要拥有丰富的行业经验以及领导力才能胜任这一角色。这类专家往往会在整个企业的质量管理战略制定方面发挥重要作用,甚至可能涉及到新技术的研究和发展方向的选择等问题上来。 - **战略性思考** - 设计全面的质量管理体系框架,确保产品质量达到最高标准的同时也符合业务发展的长远利益。 - 关注新兴趋势比如人工智能(AI),机器学习(ML), 大数据处理等领域内的最新进展及其对企业内部QA实践的影响[^2]. - **创新应用** - 将先进的理念引入日常工作中,探索新的可能性以提高工作效率降低成本支出。 - 开发定制化解决方案应对特定行业的特殊挑战,例如金融交易系统的高并发压力下的稳定性保证措施。 ```csharp // C#代码示例:模拟复杂业务逻辑的压力测试环境设置 public class StressTestEnvironmentSetup : IDisposable { private readonly int _maxConcurrentUsers; public StressTestEnvironmentSetup(int maxConcurrentUsers) { _maxConcurrentUsers = maxConcurrentUsers; Setup(); } private void Setup() { // 初始化资源... } public void Dispose() { CleanupResources(); } } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值