Junit单元测试 org.junit.jupiter.api.extension.ParameterResolutionException异常处理

这篇具有很好参考价值的文章主要介绍了Junit单元测试 org.junit.jupiter.api.extension.ParameterResolutionException异常处理。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、异常错误

想根据Id查询信息,在Junit单元测中报错

    @Select("select * from ce_questions where id = #{id};")
    List<CeQuestions> queryAuditDetailsById(@Param("id") Integer id);

Junit单元测试 org.junit.jupiter.api.extension.ParameterResolutionException异常处理

    @Test
    public void queryAuditDetailsById(Integer id){
        List<CeQuestions> queryAuditDetailsById = ceQuestionsMapper.queryAuditDetailsById(1);
        System.out.println(queryAuditDetailsById);
    }
org.junit.jupiter.api.extension.ParameterResolutionException: No ParameterResolver registered for parameter [java.lang.Integer id] in method [public void com.ahead.CExperimentPlatform.LiaoTest.queryAuditDetailsById(java.lang.Integer)].

Junit单元测试 org.junit.jupiter.api.extension.ParameterResolutionException异常处理

二、原因

@Test 单元测试方法中不允许添加参数

三、解决方法

方法1.去除单元测试方法中的参数

(Integer id)删除即可,但这样必须手动添加调用方法中的id,并且只能测试查询单条数据,比如我要查询id=1的数据,就只能手动在括号里添加1

    @Test
    public void queryAuditDetailsById(){
        List<CeQuestions> queryAuditDetailsById = ceQuestionsMapper.queryAuditDetailsById(1);
        System.out.println(queryAuditDetailsById);
    }

Junit单元测试 org.junit.jupiter.api.extension.ParameterResolutionException异常处理

方法2.使用参数化测试@ParameterizedTest

如果我要查询多条数据,自定义参数的话,可以使用参数化测试@ParameterizedTest

当然并不是直接使用,否则会报错,需要配置参数的值

org.junit.platform.commons.PreconditionViolationException: Configuration error: You must configure at least one set of arguments for this @ParameterizedTest

Junit单元测试 org.junit.jupiter.api.extension.ParameterResolutionException异常处理

@ParameterizedTest需要配合 @ValueSource使用,@ValueSource用于简单用例的参数化,支持string,int等多种类型,类型均为数组

Junit单元测试 org.junit.jupiter.api.extension.ParameterResolutionException异常处理

填入对应的参数,即可查询到需要的数据了

    @ParameterizedTest
    @ValueSource(ints = {1,2,3})
    public void queryAuditDetailsById(Integer id){
        List<CeQuestions> queryAuditDetailsById = ceQuestionsMapper.queryAuditDetailsById(id);
        System.out.println(queryAuditDetailsById);
    }

Junit单元测试 org.junit.jupiter.api.extension.ParameterResolutionException异常处理文章来源地址https://www.toymoban.com/news/detail-421052.html

到了这里,关于Junit单元测试 org.junit.jupiter.api.extension.ParameterResolutionException异常处理的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【SpringBoot】org.junit.runners.model.InvalidTestClassError 单元测试类报错(已解决)

    出现该报错是因为 @Test 注解的错误使用。 @Test 注解的正确使用 : 权限必须是public 不能有参数 返回值类型是void 本类的其他的使用了Test注解的方法返回值也必须是void 正确导包 import org.junit.Test 一般正确使用 @Test 下,就没有报错了。 但是,我们可以继续深入探讨。 SpringBo

    2024年02月01日
    浏览(41)
  • [初学Spring Boot](2):单元测试报错:org.junit.runners.model.InvalidTestClassError:Invalid test class

    是建项目时自动生成的测试类,结果还是报错了。大无语事件。 就是IDEA自建测试时导错包了。  注释掉的时原来自导的,换成短的就好了。 经查证,长的是升级版,junit5,spring boot版本在2.2之后,方法不要public修饰; 短的,是旧版,junit4,spring boot版本在2.2之前,方法要用

    2024年02月07日
    浏览(42)
  • jsonSchema 单测重构 JUnit Jupiter

    Refactor test resources to separate JSON Schema Test Suite files from project specific files · Issue #692 · networknt/json-schema-validator · GitHub fixed by https://github.com/networknt/json-schema-validator/pull/697 i propose moving the specification files from JSON Schema Test Suite to . This would provide the following benefits: src/test/suite Makes

    2024年02月16日
    浏览(35)
  • 【单元测试】Junit 4(三)--Junit4断言

    ​ **断言(assertion)**是一种在程序中的一阶逻辑(如:一个结果为真或假的逻辑判断式),目的为了表示与验证软件开发者预期的结果——当程序执行到断言的位置时,对应的断言应该为真。若断言不为真时,程序会中止执行,并给出错误信息。 这里我们直接上例子 接下来我们

    2024年02月08日
    浏览(50)
  • Java中的JUnit是什么?如何使用JUnit进行单元测试

    JUnit是Java中最流行的单元测试框架之一。它可以帮助开发人员在代码编写过程中检测出错误和异常,从而提高代码的质量和可靠性。 JUnit是一个由Kent Beck和Erich Gamma创建的开源Java单元测试框架,它已经成为Java开发中最常用的测试框架之一。这个框架的主要目的是为了简化单元

    2024年02月12日
    浏览(65)
  • Linux下安装junit,并通过命令执行junit单元测试

    1.首先你的Linux下应该已经安装了jdk,如果没有安装,请先查询安装,并配置好环境变量 2.首先找到你的jdk安装目录,如果你已经配置好环境变量的话,可以执行下面的语句:   博主的安装目录是/usr/lib/jvm/temurin-11-jdk-amd64/ 3.下载junit-4.11.jar和hamcrest-core-1.3.jar到这个目录里的l

    2024年02月04日
    浏览(42)
  • 单元测试 —— JUnit 5 参数化测试

    目录 设置 我们的第一个参数化测试 参数来源 @ValueSource @NullSource @EmptySource @MethodSource @CsvSource @CsvFileSource @EnumSource @ArgumentsSource 参数转换 参数聚合 奖励 总结 如果您正在阅读这篇文章,说明您已经熟悉了JUnit。让我为您概括一下JUnit——在软件开发中,我们开发人员编写的代

    2024年02月03日
    浏览(43)
  • 软件测试实验:Junit单元测试

    目录 前言 实验目的 实验内容 实验要求 实验过程 题目一 题目一测试结果 题目二 题目二实验结果 总结 软件测试是软件开发过程中不可缺少的一个环节,它可以保证软件的质量和功能,发现并修复软件的缺陷和错误。软件测试分为多种类型,其中一种是单元测试,即对软件

    2024年02月02日
    浏览(49)
  • Junit单元测试(笔记)

    Junit是一个Java语言的单元测试框架,简单理解为可以用于取代java的( 部分 )main方法。Junit属于 第三方 工具,需要 导入jar包 后使用。 a.在当前模块下创建lib文件夹 b.把junit的jar包,拷贝到lib的文件夹中 c.把jar包添加到图书馆中 执行的结果: 备注: Junit常用注解(Junit5.x版本) @Befor

    2023年04月26日
    浏览(37)
  • 单元测试及其工具Junit

    单元测试是开发者编写的一小段代码,用于检验被测代码的一个很小的、很明确的功能是否正确,通常而言,一个单元测试是用于判断某个特定条件(或者场景)下某个特定函数的行为。 单元测试是软件测试的一种类型,测试对象是最基础的代码单元(函数、类、模块),属

    2024年02月10日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包