1

我正在尝试从 CSV 文件运行参数化测试。

如果我像这样使用 CSVSource,它就可以工作:

@ParameterizedTest
@CsvSource({ "a,A", "b,B" })
void csvSourceTest(String input, String expected) {
    String actualValue = input.toUpperCase();
    assertEquals(expected, actualValue);
}

但是,如果我从文件中尝试相同的操作,它将无法正常工作:

@ParameterizedTest
@CsvFileSource(resources = "/data.csv")
void csvFileSourceTest(String input, String expected) {
    String actualValue = input.toUpperCase();
    assertEquals(expected, actualValue);
}

我也尝试过使用文件的硬路径,但是对于 Eclipse 中的文件测试,我总是会收到消息

没有使用测试运行程序“JUnit 5”找到测试。

JUnit 期望文件在哪里?

这些是我的依赖项:

<dependency>
    <groupId>org.junit.jupiter</groupId>
    <artifactId>junit-jupiter-params</artifactId>
    <version>5.1.0</version>
    <scope>test</scope>
</dependency>
<dependency>
    <groupId>org.junit.jupiter</groupId>
    <artifactId>junit-jupiter-engine</artifactId>
    <version>5.1.0</version>
    <scope>test</scope>
</dependency>

有人知道我可能缺少什么或错误在哪里吗?

提前感谢
保罗

4

1 回答 1

0

JUnit5用户指南指出 CSV 文件需要位于类路径中。如果是 Maven 项目,那将是src/test/resources.

于 2020-09-15T12:46:46.400 回答