java - JUnit5 类参数化
问题描述
我想在班级级别对测试进行参数化。以下示例:
@BeforeAll
public void setup() {
PropertiesLoader.loadProperties("remote.properties");
// PropertiesLoader.loadProperties("remote2.properties");
}
我想用 remote.properties 和 remote2.properties 运行测试。JUnit 5 中是否有任何注释?
解决方案
有多种解决方案可以参数化您的测试。要从 CSV 添加值,您可以使用:
@ParameterizedTest
@CsvFileSource(resources = "/params.csv", numLinesToSkip = 1)
仅当numLinesToSkip
您想跳过文件内的标题时才需要。
如果您想使用多个文件,您需要使用 JUnit 5.2+ 并签出ArgumentsAggregator
和ArgumentsAccessor
. 您可以将多个输入组合成 1 个单个输入,然后调用测试。如果不付出额外的努力,就不可能直接使用它们。
推荐阅读
- selenium - 尝试使网站自动化,但单击按钮后没有得到任何响应
- android - 我正在尝试将数据从服务器显示到 Recycler View 但出现错误
- python - 如何正确地将列表返回给我的 main() 函数
- xamarin.forms - Xamarin Forms:如何在 UWP 中单击按钮时放大和缩小图像?
- asp.net-core - 如何从 HttpContext 对象中检索 IIS 日志参数值 [参数名称:服务名称和实例编号 (s-sitename)]
- selenium - 自动下载 PDF
- reactjs - 如何在material-ui的`SvgIcon`中加载外部svg文件?
- json - 使用 play-json-extensions 反序列化 json 后添加其他字段
- javascript - 单击确认按钮后如何在相同的甜蜜框中显示文本?
- c# - 如何找到匹配所有字段的行