gpt4 book ai didi

java - 使用多个测试目录 Java/Maven

转载 作者:行者123 更新时间:2023-12-02 02:47:11 25 4
gpt4 key购买 nike

我有一个 Java 项目,该项目在资源中有多个测试目录。

\target\test-classes
|___conf
| |_ items...
|___otherdata
|_ items...

我需要访问根目录下的 \target\test-classes ,这样我就可以在目录之间切换,因为测试用例同时使用两个目录中的文件。

尝试过:

File targetClassesDir = new File(getClass().getProtectionDomain().getCodeSource().getLocation().getPath());
File targetDir = targetClassesDir.getParentFile();

getClass().getResource("test-classes").getPath()

但还无法访问test-classes的根目录。

我构建了一个非常糟糕的解决方法......:

tuple4TestsuiteContainer.add(new HeaderBodyPayloadTestcase(
"conf\\" + xqueries[0],
getClass().getResource("/").getPath(),
"xquery-testdata\\" + file.substring(file.lastIndexOf(File.separatorChar) + 1),
"xquery-testdata\\" +expectedFiles[0].substring(expectedFiles[0].lastIndexOf(File.separatorChar) + 1)
));

在实际测试器中:

String xqueryFileContent = readFile(testDataBasePath + xQueryUnderTestPath, encoding);

最佳答案

我也不确定您的用例和项目设置(Maven?),但在我看来,您根本不应该显式访问目标/测试类中的任何文件,也不应该使用资源文件夹中的 ClassLoader 加载资源.

How to get the path of src/test/resources directory in JUnit?

关于java - 使用多个测试目录 Java/Maven,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44410641/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com