java - 在哪里放置 Maven 参数化 junit 输入 xml 文件

标签 java maven-2 junit

我已经参数化了 junit 测试,可以从多个 XML 输入文件中读取数据。在代码中,我是这样的:

@Parameters
public static Collection<Object[]> getFiles() {
  Collection<Object[]> params = new ArrayList<Object[]>();
  for (File f : new File(".").listFiles(new someInputFileFilter())) {
    Object[] arr = new Object[] { f };
    params.add(arr);
  }
  return params;
}

在 Maven 下包含可能数百个这样的 XML 输入文件的推荐方法是什么?我把它放在哪里?我需要对上面的 POM 和源代码进行哪些更改才能读取这些 XML 文件?

最佳答案

将文件放在 src/test/resources 中的某个位置,例如 src/test/resources/xmlfiles;这将导致 Maven 自动将它们镜像到 target/test-classes 中。然后你可以将它们用作described by James Lorenzen :

URL path = this.getClass().getResource("/xmlfiles");
File xmlfileDir = new File(url.getFile());
for (File f : xmlfileDir.listFiles(new ...Filter())) {
    ....
}

无需更改 POM。

关于java - 在哪里放置 Maven 参数化 junit 输入 xml 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4381534/

相关文章:

java - 如何更改 Maven2 中的 JUnit 转换

java - 如何在 Maven 2 中使用自定义注释处理器?

eclipse - Gradle + Buildship - 在 JAR 和项目之间切换依赖关系

Maven:在项目B中使用项目A的特定测试类

java - 学习 Java Swing(是否使用 GUI 构建器?)

java - 当我更改类时实例会发生什么?

java - 无法完成星球大战名称生成器的此代码

java - HashMap 的键和值不是唯一的吗?

java - JUnit 报告显示测试功能,而不是覆盖率

java - 如何 JUnit 测试从文件中解析的对象