我有一个maven项目,可以将特定格式的文本文件转换为另一种格式。 为了测试,我在src / test / resources中放入了大量的测试文件。
我还有另一个项目,它使用第一个进行转换,然后在输出格式上做一些额外的事情。我也想针对相同的测试数据集测试这个项目,但我不想拥有重复的数据集,我希望能够单独测试第一个项目,因为它也是一个独立的转换器项目。
这样做有什么共同的解决方案吗?我不介意项目源代码树中的没有测试数据集,只要每个项目可以独立于另一个项目访问数据集。我也不想为此设置数据库。我想的是比RDBMS更简单的测试数据存储库。我可以使用特定的maven插件来满足这种需求吗?易于设置和简单是我的首要任务。此外,我想的是打包测试数据并将其放入内部maven仓库,然后下载并在junit代码中解压缩。或者更好的是,有一个maven插件可以为我做这个吗?
有什么想法吗?
答案 0 :(得分:5)
可以与Maven共享资源,例如在Assembly和Dependency插件的帮助下。基本上是:
pom
的模块以保存共享资源dependency:unpack-dependencies
(加上一些排除规则)来解压缩这种方法详见How to share resources across projects in Maven。它需要一些设置(“提供”)并且不太复杂。
答案 1 :(得分:3)
将它们放在单独模块的src / main / resources目录中的树中,专门用于共享测试数据。它们将被添加到jar文件中,并且在我的nexus存储库,文件共享,〜/ .m2 /存储库或用于存储/分发maven工件的任何内容中进行了很好的压缩和版本化。
然后在项目中添加一个依赖项,你需要测试范围内的数据,并使用资源加载从jar中获取它们。
您不需要任何特殊插件或其他基础设施。这只是有效。