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 @   VipSoft  阅读(11)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· 清华大学推出第四讲使用 DeepSeek + DeepResearch 让科研像聊天一样简单!
· 实操Deepseek接入个人知识库
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
历史上的今天:
2022-10-28 Jenkins + SVN/Git + Maven + Docker + 阿里云镜像 + Kubernetes(K8S)
点击右上角即可分享
微信分享提示