【问题标题】:Is there a correct way to have a util method to find test resource paths?是否有正确的方法来使用 util 方法来查找测试资源路径?
【发布时间】:2015-02-08 19:24:27
【问题描述】:

我正在编写一个小测试来读取 CSV 文件(使用 testng)。 我找到了一些代码来执行此操作,并找到了一些其他行来查找资源文件夹本身。

现在我在其他场景中重复使用它,我认为我可以创建一个 util 方法而不是复制粘贴:

public static String prepFilepath(Class c) {

    URL url = c.getResource("");
    String location = url.getPath();

    String packageName = c.getPackage().getName().replace(".", "/");

    int l = location.lastIndexOf(packageName);
    return location.substring(0, l);
}

我的测试这样调用它:

@Test
public void testImport(){
    File testFile = new File(ImportUtils.prepFilepath(this.getClass()), inputFileName);
    //...
}

但是我不知道这是否正确:

  • 可以将类引用作为参数传递吗? (我以前从来没有为了这么小的目的这样做过)
  • 还有更优雅的方式吗?
  • 它的通用性足以证明该实用程序的合理性吗?

编辑: 我正在使用 testng

【问题讨论】:

标签: java csv path


【解决方案1】:

如果文件和类在同一个包中,那么我们可以通过这种方式获取文件的 URL

URL url = getClass().getResource(fileName);

如果我们需要从 URL 获取文件,我们可以这样做

File file = new File(url.toURI());

【讨论】:

    猜你喜欢
    • 2021-09-19
    • 2015-07-31
    • 1970-01-01
    • 1970-01-01
    • 2013-05-09
    • 2015-04-29
    • 1970-01-01
    • 2010-12-22
    • 1970-01-01
    相关资源
    最近更新 更多