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);
}

image

posted @ 2024-10-28 23:03  VipSoft  阅读(5)  评论(0编辑  收藏  举报