Testing 如何对同一工件的先前部署工件运行maven测试?

Testing 如何对同一工件的先前部署工件运行maven测试?,testing,maven,Testing,Maven,我有一个人工制品abc,它有一些测试。我的存储库中有不同版本的abc。我现在希望能够针对项目的“旧版本”运行最新的测试 我试图将工件本身添加到测试依赖项中,但这(当然)会导致maven reactor在通过以下方式构建测试时出现循环引用错误: mvn编译器:testCompile mvn surefire:测试 是否有任何聪明的方法可以针对以前的旧构建/工件运行测试 我必须创建一个新的pom.xml来定义单独测试的执行吗? 或者我应该在执行测试时向当前工件添加后缀吗?(这将避免一个循环引用错误)

我有一个人工制品abc,它有一些测试。我的存储库中有不同版本的abc。我现在希望能够针对项目的“旧版本”运行最新的测试

我试图将工件本身添加到测试依赖项中,但这(当然)会导致maven reactor在通过以下方式构建测试时出现循环引用错误:

mvn编译器:testCompile mvn surefire:测试

是否有任何聪明的方法可以针对以前的旧构建/工件运行测试

我必须创建一个新的pom.xml来定义单独测试的执行吗?
或者我应该在执行测试时向当前工件添加后缀吗?(这将避免一个循环引用错误)

我预见到的问题是,您试图做的是,包阶段在maven生命周期的测试阶段之后。对我来说,这意味着maven对编译的类而不是物理jar文件(在包阶段生成)运行单元测试。因此,您必须将projects/target/classes文件夹的内容替换为“older”jar中的类

根据测试的类,将测试分离到单独的模块/项目中。然后创建单独的概要文件,将依赖关系更改为旧版本