【问题标题】:where to put maven parametrized junit input xml files在哪里放置 maven 参数化 junit 输入 xml 文件
【发布时间】:2011-05-21 20:37:11
【问题描述】:

我有从多个 XML 输入文件读取的参数化 junit 测试。在代码中,我有这样的:

@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 文件?

【问题讨论】:

    标签: java maven-2 junit


    【解决方案1】:

    将文件放在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。

    【讨论】:

    • 有没有替代 this.getClass().getResource("/xmlfiles"); ?我正在使用带有静态方法的参数化junit。
    • @bob 试试MyTestClass.class.getResource("/xmlfiles")
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-04-09
    • 2012-12-01
    • 2019-07-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-28
    • 1970-01-01
    相关资源
    最近更新 更多