首页 > 其他分享 >To create a new mock, the existing static mock registration must be deregistered

To create a new mock, the existing static mock registration must be deregistered

时间:2024-08-13 15:27:47浏览次数:7  
标签:ParentRunner java create runners org deregistered junit mock

1、异常提示:

  To create a new mock, the existing static mock registration must be deregistered

 

 

2、原因分析

  由提示信息可知,静态模拟已经注册过了,再次注册时必须先将之前的撤销。所以我们要撤销之前的注册信息,再执行。

  这里提供另一种方法,将模拟静态的方法的代码放到 try-resources 块中执行,这样可以兼容多个注册信息,实际上是在只在本方法中有效。

  

3、解决办法

  将要模拟静态方法的代码放到 try-resource 资源池中,如下:

  try (MockedStatic<BeanUtil> beanUtilMockedStatic = mockStatic(BeanUtil.class)) {}

 

4、详细报错:

org.mockito.exceptions.base.MockitoException:
For cn.hutool.core.bean.BeanUtil, static mocking is already registered in the current thread

To create a new mock, the existing static mock registration must be deregistered

at com.abc.service.impl.TagManagerServiceImplTest.testTagImptUpdt(TagManagerServiceImplTest.java:532)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:59)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:56)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306)
at org.junit.runners.BlockJUnit4ClassRunner$1.evaluate(BlockJUnit4ClassRunner.java:100)
at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:366)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:103)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:63)
at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329)
at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293)
at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306)
at org.junit.runners.ParentRunner.run(ParentRunner.java:413)
at org.junit.runner.JUnitCore.run(JUnitCore.java:137)
at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:69)
at com.intellij.rt.junit.IdeaTestRunner$Repeater$1.execute(IdeaTestRunner.java:38)
at com.intellij.rt.execution.junit.TestsRepeater.repeat(TestsRepeater.java:11)
at com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:35)
at com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:232)
at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:55)

 

标签:ParentRunner,java,create,runners,org,deregistered,junit,mock
From: https://www.cnblogs.com/hapday/p/18357024

相关文章

  • Adobe Animate Createjs H5
    AdobeAnimateCC是AdobeFlash的继任者,提供了更现代的动画和互动功能。它允许用户创建动画,并导出到HTML5Canvas、WebGL或SVG格式。CreateJS是一个强大的JavaScript库,可以与AdobeAnimateCC一起使用,帮助开发人员在Web上实现动画和互动功能。对于没有Flash基础的......
  • GUI推送安装报错:cannot create regular file
    EnvironmentDataProtector10.60RedHatEnterpriseLinux8.3 SituationThefollowingerrorisreportedwhentheAddclientsisperformedontheDPGUI. [Critical]<Client-hostname>Certificatecopyfailed:cp:cannotcreateregularfile'/etc......
  • Android Studio报错: A problem occurred starting process command ,CreateProcess er
    AndroidStudio报错:Aproblemoccurredstartingprocesscommand,CreateProcesserror=2,系统找不到指定的文件一、遇到问题二、解决问题重新下载了22.0.7026061和22.1.7171670只在cmake.dir中修改了路径(ndk.dir中修改了路径[未尝试])clean+SyncProject,OK了!......
  • 单元测试框架 mockito
    单元测试框架mockito 1、在项目的pom.xml引入 mockito的依赖:<dependency><groupId>org.mockito</groupId><artifactId>mockito-inline</artifactId><scope>test</scope></dependency>2、模拟Spring的消息源对象:@MockMes......
  • 在线带壳屏幕截图工具推荐:MockUPhone
    简介MockUPhone是一款免费的在线工具,用于生成带壳屏幕截图。这款工具主要面向开发者、设计师以及产品经理等人群,他们可以利用MockUPhone将UI设计或屏幕截图展示在各种不同类型的设备模型上,如智能手机、平板电脑、个人电脑、电视甚至是可穿戴设备。官网https://mockuphone.com/......
  • AI新玩法!阿里云联合优酷跨界打造Create@AI江湖创作大赛
    随着网剧《少年白马醉春风》的热播,许多人心中的江湖梦被唤醒,渴望踏入那个充满传奇色彩的影视世界,体验一段属于自己的江湖之旅。在AIGC技术日益成熟的今天,这一梦想变得触手可及。阿里云携手优酷,发起了Create@AI江湖创作大赛,将网剧《少年白马醉春风》这一热门影视IP与阿里云......
  • Open3d Create_from_cloud_alpha_shape 错误:无效的 unordered_map
    我在open3d中的create_from_point_cloud_alpha_shape方面遇到问题。这是我的代码。importopen3daso3dimportnumpyasnpmesh=o3d.io.read_triangle_mesh('Bunny.stl')print(mesh)pcd=mesh.sample_points_poisson_disk(750)alpha=0.3mesh=o3d.geome......
  • 使用 createError 创建错误对象的详细指南
    title:使用createError创建错误对象的详细指南date:2024/8/8updated:2024/8/8author:cmdragonexcerpt:摘要:本文介绍了createError函数在Nuxt应用开发中的使用方法,用于创建带有附加元数据的错误对象,以提升错误处理的灵活性和用户体验。内容包括函数参数说明、......
  • 使用 createError 创建错误对象的详细指南
    title:使用createError创建错误对象的详细指南date:2024/8/8updated:2024/8/8author:cmdragonexcerpt:摘要:本文介绍了createError函数在Nuxt应用开发中的使用方法,用于创建带有附加元数据的错误对象,以提升错误处理的灵活性和用户体验。内容包括函数参数说明、在Vue组......
  • 微信小程序解决不支持画布的createConicGradient
    微信圆环进度条开发,先看效果 微信小程序中canvas使用createConicGradient,开发者工具中显示正常,真机上报错,表示createConicGradient方法underfed,然后试一下使用图片放进去,发现微信小程序不支持newImage方法,后面查看微信官方文档有createImage方法wxml代码: <canvasca......