@CsvSource
是JUnit 5引入的注解之一,用于指定CSV文件中的数据源以供参数化测试使用。CSV是一种常见的以逗号分隔值的文件格式,用于存储表格数据。@CsvSource
注解提供了一种方便的方式,可以直接在测试代码中定义CSV格式的数据源,而不需要单独的CSV文件。
使用@CsvSource
注解,你可以将测试数据作为参数传递给参数化测试方法。下面是一个使用@CsvSource
的示例:
import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.CsvSource;
public class MyParameterizedTest {
@ParameterizedTest
@CsvSource({ "apple, red", "banana, yellow", "grape, purple" })
void testFruit(String fruit, String color) {
System.out.println("Fruit: " + fruit + ", Color: " + color);
// 执行测试逻辑
}
}
在上面的示例中,testFruit
方法被标记为参数化测试方法,使用@CsvSource
注解指定了CSV格式的测试数据。测试数据按行组织,每行的值使用逗号进行分隔。
@CsvSource
注解中的值是一个字符串数组,每个字符串表示一行数据。例如,“apple, red"表示一行数据:水果为"apple”,颜色为"red"。
当进行参数化测试时,测试框架将为每一行数据生成一个测试用例,并将对应的参数传递给testFruit
方法。
希望对你有所帮助!如果还有其他问题,请随时提问。