SpringBoot @Test 带参数的单元测试
org.junit.jupiter.api.extension.ParameterResolutionException: No ParameterResolver registered for parameter [java.lang.String code] in method [void com.vipsoft.admin.RoleTest.getRoleTest(java.lang.String)].
@Test
void getRoleTest(String code) {
SysRole param = new SysRole();
param.setCode(code);
ApiResult apiResult = roleController.getSysRole(param);
logger.info(PojoUtil.pojoToJson(apiResult));
Assert.isTrue(apiResult.getCode() == 1, "失败");
}
@Test 单元测试方法中不允许添加参数
解决方案
@ParameterizedTest
需要配合 @ValueSource
使用,@ValueSource
用于简单用例的参数化,支持 string,int...
等多种类型,类型均为数组
@ParameterizedTest
@ValueSource(strings = {"admin"})
void getRoleTest(String code) {
SysRole param = new SysRole();
param.setCode(code);
ApiResult apiResult = roleController.getSysRole(param);
logger.info(PojoUtil.pojoToJson(apiResult));
Assert.isTrue(apiResult.getCode() == 1, "失败");
}
@Test
void curdTest() {
//查询
getRoleTest("角色标识" + 83);
}
本文来自博客园,作者:VipSoft 转载请注明原文链接:https://www.cnblogs.com/vipsoft/p/18511880