下面是maven java项目:
Validator项目包含验证代码,jar被demoModel1和demoModel2项目用于执行验证。为了执行验证,在demoModel1和demoModel2项目中,我必须编写JUnit测试用例,但是这些测试用例是相似的,除了它们作为参数的不同索引。由于这个原因,我创建了一个名为ExecuteSimulation的参数化测试类。
import org.junit.jupiter.api.extension.ExtensionContext;
import org.junit.jupiter.params.provider.Arguments;
import org.junit.jupiter.params.provider.ArgumentsProvider;
public class ExecuteSimulation implements ArgumentsProvider {}现在,我必须在ExecuteSimulation demoModel1和demoModel2项目中创建这个类。但是我想在ExecuteSimulation demoModel1和demoModel2项目中重用这个类。我试图将ExecuteSimulation类放到com.validator项目中。如果我将类放在com.validator项目的src/java文件夹中,就会产生错误,抱怨没有找到junit依赖项。
如果我将ExecuteSimulation类放在com.validator项目的src/test文件夹中,并尝试在demoModel1和demoModel2中使用,则这两个项目都会产生错误,抱怨找不到来自com.validator项目的ExecuteSimulation类的引用。我想是因为src/test的位置。
在这方面,在不同的maven java项目中重用这个参数化测试类的正确方法是什么?
发布于 2022-09-08 05:04:03
您想要实现的目标在Maven JAR插件文档(“如何创建包含测试类的jar”)中进行了描述。你基本上有两种选择:
jar的test-jar构建)创建一个单独的src/test文件。src/java构建)。这两种方法都将产生一个jar文件,该文件应该作为一个依赖项导入到具有test作用域的其他模块中。如果您决定采用第二种方法,像JUnit这样的依赖项在这个新模块中不会有一个test作用域,但是它们将仅在导入它们的模块中与此作用域一起使用。
https://stackoverflow.com/questions/73621171
复制相似问题