记录学习Mockito单元测试的坑——空指针异常

这篇具有很好参考价值的文章主要介绍了记录学习Mockito单元测试的坑——空指针异常。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

记录学习Mockito单元测试的坑——空指针异常

情况一

mockito-all依赖和mockito-core依赖同时引用时,可能会报空指针异常

正确引用

        <!--导入junit单元测试依赖-->
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.11</version>
            <scope>test</scope>
        </dependency>

        <!-- 单元测试-->
        <dependency>
            <groupId>org.mockito</groupId>
            <artifactId>mockito-core</artifactId>
            <version>3.6.28</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.mockito</groupId>
            <artifactId>mockito-inline</artifactId>
            <version>3.11.2</version>
            <scope>test</scope>
        </dependency>

情况二

使用@Mock注解生成模拟对象时没有在类上添加注解@RunWith(MockitoJUnitRunner.class)

正确使用

/**
 * @author Snape
 * @create 2022-11-09 15:58
 *
 * 使用@Mock注解生成一个模拟对象,必须要在类上加一个注解@RunWith(MockitoJUnitRunner.class),
 * 不然的话list会是null值
 *
 */
@RunWith(MockitoJUnitRunner.class)
public class MockitoTest {
    @Mock
    private List list;
    
    @Test
    public void testAdd(){
        list.add(1);
        verify(list).add(1);
    }

}

情况三

注解@Test导包导错了

正确包名文章来源地址https://www.toymoban.com/news/detail-576542.html

import org.junit.Test;

到了这里,关于记录学习Mockito单元测试的坑——空指针异常的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • Mockito单元测试异常情况

    一、空指针异常 例子: 使用Collectors.groupingBy()进行分组时, 分组值存在null值 。 解决办法:分组值为null时,默认值为空字符,或者让数据不为空。 二、多个参数匹配异常 例如: 如果a和b一个是正常传参(list、map、string…)另一个是任意万能传参(any()、anyList()、anyString(

    2024年02月07日
    浏览(51)
  • java后端用mockito做单元测试,一直报错空指针问题【已解决】

    写java后端,用mockito做单元测试 跑测试代码的时候,一直报空指针错: 测试代码如下: debug发现 ruleService 和 mockRuleMapper 为空: 一开始以为是测试代码哪写错了,作为一个后端小白,在网上搜索相关bug解决办法,乃至询问身边写过测试的人,前前后后弄了好几个小时,还是一

    2024年02月12日
    浏览(53)
  • Mock单元测试----对于流程中的异常模拟,实现覆盖

    前言:进行单元测试时,有时候无法编写合适的测试用例来满足流程中的异常捕获和catch内的后续操作,此时mock模拟就有大作用了 例如:在进行删除操作时,为了防止在删除过程中突发数据库断连等情况,使用了try、catch进行异常的捕获和输出,但是在单元测试中编写测试实

    2024年02月12日
    浏览(38)
  • SpringBoot单元测试报空指针异常解决方案

    java.lang.NullPointerException空指针异常 1.测试类中产生空指针异常,可能不是你的逻辑代码写错了,而是因为获取容器失败,即没有使用正确的测试方法 2.在SpringBoot项目中我们一般可以使用两种Junit进行测试,在导入@Test包时,会出现两个选项 (1)import org.junit.Test; 该junit需要在

    2024年02月11日
    浏览(34)
  • springboot单元测试问题解决 (空指针异常:NullPointerException 或者注入问题)

    在对springboot进行单元测试时,遇到了空指针异常 一般来说加一个注解就可以了: 1,spring版本和test版本一致 2,启动类上要加@mapperScan(“包名”)才可以注入mapper层,否则注入数据层报空指针 3,启动类上要加@ComponentScan(“父包名”)才可以扫描到service层,否则注入业务层报空指

    2024年02月16日
    浏览(44)
  • Mockito单元测试详解

    依赖: SpringBoot默认的Mock框架是Mockito,和junit一样,只需要依赖spring-boot-starter-test就可以了 (1)@RunWith 指定运行环境,例: @RunWith(SpringRunner.class) Junit运行Spring的测试环境 @RunWith(MockitoJUnitRunner.class) Junit运行Mockito的运行环境,不会加载springboot上下文 @SpringBootTest 加载springbo

    2023年04月09日
    浏览(41)
  • 单元测试Mockito

    Mockito 1.为什么要mock? mock等于是创建一个虚拟对象(不会去跑真实的),在测试环境中替换掉真是对象,从而 验证该对象某些方法的调用情况,调用多少次,参数等 给对象做一个定义,指定返回结果或者特定的动作 2.什么是mock,stub和spy mock: Mock 对象是一种完全由测试控制

    2024年03月18日
    浏览(42)
  • 单元测试-mockito

    在单元测试中,对于一个类中的方法,常常需要依赖其他类的方法、操作数据dto等对象实例。 方法mock:依赖的方法又可能依赖其他方法,呈现级联的树状结构。 问题:在一些情况下,这个依赖树会很深,其中依赖的一个子方法一旦修改出现问题,如果引起大量的单测不可用

    2024年04月11日
    浏览(71)
  • Spring单元测试+Mockito

    一,背景 单元测试基本上是开发逃不过的一个工作内容,虽然往往因为过于无聊,或者过于麻烦,而停止于项目的迭代之中,不了了之了。其实不是开发们懒,而是上头要求的测试覆盖率高,但是又没有好用的工具,导致工作积压,最后只能舍弃掉这部分。 最近发现Spring+

    2024年04月17日
    浏览(43)
  • 【单元测试】Mockito使用详解

    一个单元测试应该有如下特点: 应该是自动化的 应该可以快速运行 每个单元测试不应该依赖其它测试的结果和执行顺序,单元测试框架可以按任意的顺序执行每个测试 每个单元测试不应该依赖数据库,外部文件,或者任何长时间运行的任务。单元测试应该是独立的,不应该

    2024年04月15日
    浏览(87)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包