Maven 中的多个测试集

发布于 2024-11-06 12:31:56 字数 413 浏览 0 评论 0原文

我已经编写了一个 REST 服务器(在 Java 中使用 RestEasy)以及用 Scala 编写的单元测试套件。该测试套件使用 RestEasy 提供的模拟服务器,并在每个 Maven 构建中运行。

我想创建第二个功能测试套件,它调用实际的 tomcat 服务器并执行每个 REST 服务。我不希望这个新套件在每次构建时都运行,而只是按需运行,也许可以通过 Maven 的命令行参数进行控制。

是否可以在一个 Maven 项目中创建多个独立的测试套件并禁用某些测试套件的自动运行,或者我是否需要为此功能套件创建一个单独的 Maven 项目?如果这些测试与单元测试位于同一项目中(不同的目录),如何隔离不同的功能套件代码?如何使用命令行参数运行选定的套件?

I have written a REST server (in Java using RestEasy) with a unit test suite written in Scala. The test suite uses the mock server provided by RestEasy and runs with every Maven build.

I would like to create a second functional test suite that calls an actual tomcat server and exercises each REST service. I do not want this new suite to run with every build, but only on demand, perhaps controlled with a command line argument to Maven.

Is it possible to create multiple independent test suites in a Maven project and disable some from automatic running, or do I need to create a separate Maven project for this functional suite? How can I segregate the different functional suite code if these tests are in the same project with the unit tests (different directories)? How do I run a selected suite with command line arguments?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

甜扑 2024-11-13 12:31:56

我自己从未使用过它,但我知道 Maven Failsafe 插件 < 运行的 Maven 集成测试/a>.

由于 surefire 插件默认包含名为 **/ 的测试Test*.java, **/*Test.java, **/*TestCase.java 故障安全插件运行 **/IT*.java, **/*IT.java, ** /*ITCase.java 测试。

两种测试方法都有不同的意图,似乎符合您的部分需求。可能值得一看......


另一种方法是使用 maven 配置文件 并指定不同的surefire 包含 对于每个配置文件。

I never used it myself but I am aware of maven integration tests run by the Maven Failsafe plugin.

As the surefire plugin by default includes the tests named **/Test*.java, **/*Test.java, **/*TestCase.java the failsafe plugin runs the **/IT*.java, **/*IT.java, **/*ITCase.java tests.

Both test approaches have different intentions which seems to match part of your needs. It might be worth to have a look.....


Another approach would be to use maven profiles and specifiy different surefire includes for each profile.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文