代码之家  ›  专栏  ›  技术社区  ›  Paralife

多个独立maven项目的通用测试数据

  •  3
  • Paralife  · 技术社区  · 15 年前

    我有一个maven项目,它将特定格式的文本文件转换为另一种格式。

    我还有另一个项目,它使用第一个来做转换,然后在输出格式上做一些额外的工作。我还想测试这个项目对同一测试数据集,但我不想有重复的数据集,我想能够单独测试第一个项目,因为它也是一个独立的转换器项目。

    有什么共同的解决办法吗?我不介意 没有 项目源树中的测试数据集,只要每个项目可以独立于其他项目访问数据集。我不想建立一个数据库也。我在想一个比RDBMS更简单的测试数据存储库。对于这种需求,有什么应用程序可以和特定的maven插件一起使用吗?易于安装和简单是我的首要任务。另外,我在考虑打包测试数据并将其放入内部maven repo中,然后下载它并在junit代码中解压它。或者更好,有没有maven插件可以帮我做到这一点?

    2 回复  |  直到 15 年前
        1
  •  5
  •   Pascal Thivent    15 年前

    可以与Maven共享资源,例如在 Assembly Dependency

    1. 创建具有类型为的打包的模块 pom 持有共享资源
    2. dependency:unpack-dependencies (加上一些排除规则)打开拉链

    详细介绍了这种方法 How to share resources across projects in Maven . 它需要一点设置(这是“提供的”),并不太复杂。

        2
  •  3
  •   Peter Tillemans    15 年前

    只需将它们放在一个单独模块的src/main/resources目录树中,专门用来共享测试数据。它们将被添加到jar文件中,并在nexus存储库、文件共享、~/.m2/存储库或用于存储/分发maven工件的任何地方进行很好的压缩和版本控制。

    然后只需在项目中添加一个依赖项,您需要测试范围中的数据,并使用资源加载从jar中获取它们。

    您不需要任何特殊的插件或其他基础设施。这很管用。