【发布时间】:2018-03-31 06:41:23
【问题描述】:
问题:相同的测试方法用于不同的数据。根据输入数据,测试方法主体应该在断言中期待“等于”或“不等于”。
研究:@ParameterizedTest 允许使用@CsvSource 作为测试方法输入数据:
@ParameterizedTest
@CsvSource({ "foo, 1", "bar, 2", "'baz, qux', 3" })
void testWithCsvSource(String first, int second) {
assertNotNull(first);
assertNotEquals(0, second);
}
这可以通过两种相反的测试方法来实现,但它们的代码会非常相似。
QUESTION:如何在方法体中识别,当前使用的是哪一组CsvSource输入参数?
【问题讨论】:
-
正如你提到的,我通常会选择两种测试方法。另一种方法是将预期结果列添加到 CSV 数据中。
标签: unit-testing junit5