@ParameterizedTest @CsvSource({"aa,xxx,2", "bb,xxx,3"})
时间: 2024-09-13 13:11:39 浏览: 58
MUL.zip_R2R3 R6R7
`@ParameterizedTest` 是JUnit Jupiter(JUnit 5的一个扩展)中的一个注解,它允许你在测试方法上使用参数化输入,从而一次运行多组不同的测试案例。`@CsvSource` 是一个进一步的注解,用于读取CSV文件中的数据作为测试方法的参数。
具体来说,在这种情况下,`@ParameterizedTest`配合`@CsvSource`通常用于测试那些需要不同输入组合的情况,如API接口测试,其中每个测试用例对应CSV文件中的一行数据,每一列代表测试方法的不同参数。
例如,假设有一个UserMapper的方法需要接收三个参数(username, password, id),你可以这样定义测试:
```java
@ParameterizedTest
@CsvSource({"aa,xxx,2", "bb,yyy,4"})
public void testSaveUser(String username, String password, Integer id) {
// 这里模拟UserMapper.saveUser方法的实际调用
// 具体实现依赖于UserMapper接口的具体定义
UserMapper mapper = ...;
mapper.saveUser(username, password, id);
// 添加验证逻辑,比如检查数据库中是否存在对应的用户记录
}
```
这会执行两次测试,第一次传入"aa", "xxx", 2,第二次传入"bb", "yyy", 4。
阅读全文