Junit 使用特定于测试的jar重新编译源代码
我有一个多模块项目,它依赖于一个相当大的第三方库/API。无法使用实际库运行自动化junit测试,因为API与开发环境管理外部的系统交互。作为一种解决方法,我们创建了模拟接口/API的类,以便我们可以执行junits。我们使用eclipse作为开发的IDE,所以要运行junits,我们只需将jar在类路径中向上移动,重新编译,运行junits,一切都很好 现在我们正在迁移到Maven,正在寻找类似的解决方案。基本上,在构建代码之后,需要使用mock jar重新构建所有代码,以运行junit测试。这涉及应用程序的所有模块。我尝试在测试范围中添加jar,但这仅用于编译测试类;源代码类仍然使用真实的jar进行编译。然而,它在运行时失败,因为我们的模拟jar不匹配真实jar的所有签名(所以jar的热交换不起作用;使所有签名匹配将是一项艰巨的任务)。因此,需要使用jar重新编译源代码 因此,似乎有两种选择: 1) 制作一个独立的测试模块,以某种方式引入所有源模块代码,并使用模拟jar重新编译它,然后运行测试或测试 2) 每个模块除了使用mock jar编译的可安装jar之外,还创建一个testjar,然后在测试阶段由依赖模块使用 请告知。如果您能举例说明如何执行上述任一操作,我们将不胜感激。请查看链接。我想它有你需要的。您可以使用两个maven配置文件来处理这个问题。根据需要,您可以对每个配置文件具有不同的依赖项Junit 使用特定于测试的jar重新编译源代码,junit,maven,automated-tests,Junit,Maven,Automated Tests,我有一个多模块项目,它依赖于一个相当大的第三方库/API。无法使用实际库运行自动化junit测试,因为API与开发环境管理外部的系统交互。作为一种解决方法,我们创建了模拟接口/API的类,以便我们可以执行junits。我们使用eclipse作为开发的IDE,所以要运行junits,我们只需将jar在类路径中向上移动,重新编译,运行junits,一切都很好 现在我们正在迁移到Maven,正在寻找类似的解决方案。基本上,在构建代码之后,需要使用mock jar重新构建所有代码,以运行junit测试。