我有一个神器abc,它有一些测试。我的存储库中有不同版本的abc。我现在希望能够针对项目的“旧版本”运行最新的测试。
我尝试将工件本身添加到测试依赖项中,但是(当然)在通过以下方式构建测试时会导致maven reactor的循环引用错误:
mvn编译器:testCompile mvn surefire:test
是否有任何智能方法可以针对之前的旧版本/工件运行测试?
我必须创建一个新的pom.xml,我在其中定义独奏测试执行吗? 或者我应该在执行测试时为我当前的工件添加后缀? (这样可以避免循环引用错误)
答案 0 :(得分:3)
将测试分成单独的模块/项目,该模块/项目取决于它测试的类。然后创建单独的配置文件,将更改依赖关系更改为旧版本。
答案 1 :(得分:1)
我预见到的问题是,您要尝试做的是封装阶段是在maven生命周期的测试阶段之后。对我来说意味着maven对编译的类运行单元测试而不是物理jar文件(在包阶段生成)。因此,您必须使用“较旧”jar中的类替换projects / target / classes文件夹的内容。