我编写了一个REST服务器(在Java中使用RestEasy)和一个用Scala编写的单元测试套件。测试套件使用RestEasy提供的模拟服务器,并与每个Maven构建一起运行。
我想创建第二个功能测试套件,它调用实际的tomcat服务器并练习每个REST服务。我不希望这个新套件与每个构建一起运行,但只是按需使用,可能是用Maven的命令行参数控制的。
是否可以在Maven项目中创建多个独立的测试套件并禁用一些自动运行,或者我是否需要为此功能套件创建单独的Maven项目?如果这些测试与单元测试(不同目录)在同一个项目中,我如何隔离不同的功能套件代码?如何使用命令行参数运行选定的套件?
答案 0 :(得分:5)
我自己从未使用过它,但我知道Maven Failsafe plugin运行的maven集成测试。
由于surefire插件默认包含名为**/Test*.java, **/*Test.java, **/*TestCase.java
的测试,故障安全插件会运行**/IT*.java, **/*IT.java, **/*ITCase.java
测试。
两种测试方法都有不同的意图,似乎符合您的部分需求。值得一看......
另一种方法是使用maven profiles并为每个配置文件指定不同的surefire includes。