有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java在何处放置maven参数化junit输入xml文件

我已经参数化了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输入文件的推荐方法是什么?我应该把它放在哪里?为了读取这些XML文件,我需要对POM和上面的源代码做哪些更改


共 (1) 个答案

  1. # 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