首页 > 解决方案 > JUnit5 类参数化

问题描述

我想在班级级别对测试进行参数化。以下示例:

@BeforeAll
public void setup() {
        PropertiesLoader.loadProperties("remote.properties");
  //    PropertiesLoader.loadProperties("remote2.properties");
    }

我想用 remote.properties 和 remote2.properties 运行测试。JUnit 5 中是否有任何注释?

标签: javajunitjunit5

解决方案


有多种解决方案可以参数化您的测试。要从 CSV 添加值,您可以使用:

@ParameterizedTest
@CsvFileSource(resources = "/params.csv", numLinesToSkip = 1)

仅当numLinesToSkip您想跳过文件内的标题时才需要。

如果您想使用多个文件,您需要使用 JUnit 5.2+ 并签出ArgumentsAggregatorArgumentsAccessor. 您可以将多个输入组合成 1 个单个输入,然后调用测试。如果不付出额外的努力,就不可能直接使用它们。


推荐阅读