我想为 testng 创建两个自定义运行配置运行器。第一个是默认的 TestNG 运行程序,第二个是在运行之前启动 jetty 进行集成测试。我经常使用 CMD+SHIFT+R 和 CMD+R 来运行单个测试或整个类,但是当我无法在集成测试运行之前启动服务器时,很难使用此功能。
有没有办法设置两个配置,所以当我在一个匹配的包中运行测试时,它使用一个配置,否则它将使用另一个?
我想为 testng 创建两个自定义运行配置运行器。第一个是默认的 TestNG 运行程序,第二个是在运行之前启动 jetty 进行集成测试。我经常使用 CMD+SHIFT+R 和 CMD+R 来运行单个测试或整个类,但是当我无法在集成测试运行之前启动服务器时,很难使用此功能。
有没有办法设置两个配置,所以当我在一个匹配的包中运行测试时,它使用一个配置,否则它将使用另一个?
Maven 配置文件听起来是一个很好的工具,是的。
一种简单且非常常见的方法是将您的测试拆分为单元测试(它们是普通的 java 代码)和集成测试(需要其他花哨的东西才能运行)。
我看到 maven-surefire-plugin 支持 TestNG,所以你很好。
现在,要设置码头,此链接的第二个 pom描述了如何在 mavenpre-integration-test
和post-integration-test
阶段上启动和停止码头。
然后,在将相关测试绑定到 mavenintegration-test
阶段后,您可以通过以下命令执行所有操作(启动码头 -> 集成测试 -> 停止码头):
mvn verify
还有其他方法可以做到这一点,但这是一个很好的起点。
祝你好运。