运行Surefire测试时修补类路径

时间:2015-01-08 01:53:59

标签: java unit-testing maven classloader surefire

我们正在大量使用静态成员和系统属性的遗留Java应用程序的上下文中开发代码,期望磁盘上不同位置的文件。构建在Maven中运行。

我们正在尝试对代码进行单元测试,而无需部署,配置和启动整个应用程序。我已经设法通过在框架中修补少量类来完成此操作,在src/test/java中的Maven测试源中提供我自己的相关源文件变体。

作为下一步,我想通过提供一个JAR文件使这个补丁可以重复使用,该文件可作为测试依赖项引入任何开发较大应用程序一部分的项目。我想通过我们的普通二进制存储库来部署它。

Surefire提供了设置<additionalClasspathElements>的选项,但根据documentation,这仅适用于绝对路径,并且会在类路径的末尾添加依赖项。

理论上,正确地排序项目依赖项可能有效,但我找不到任何关于该命令如何在多个范围内工作的文档。我需要Maven来保证我的test依赖项在runtime之前加载。

使用通过Maven的依赖性解析机制拉出的JAR,为Surefire运行修补类的可靠方法是什么?

0 个答案:

没有答案