问题标签 [mockstatic]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1556 浏览

java - Mockito 3.6:在 @Before 或 @BeforeClass 中使用 mockStatic 和 JUnit4

Mockito 3.6 支持在try-with-resources块下模拟静态方法,如此所述。

有人可以让我知道静态方法是使用 Powermock 模拟的,@Before还是@BeforeClass可以Mockito.mockStatic在不完全重写测试类的情况下替换它们?

0 投票
2 回答
3494 浏览

java - 使用 Mockito 在 JUnit 5 中模拟静态方法

我正在尝试为 Junit 5 测试用例模拟静态类(org.apache.commons.beanutils.Beanutils)。我遇到了mockito-inline依赖有助于模拟静态类。mockito-inline出于某种奇怪的原因,我尝试在项目中使用它,它在没有mockito-core库的情况下给了我编译错误。

随着mockito-core我越来越低:

没有核心 - 编译问题。请找到没有以下内容的测试依赖项细分mockito-core

0 投票
0 回答
27 浏览

java - 使用 Mockito 内联模拟制造商进行单元测试时,调试器会突出显示错误的行。(使用 MockedStatic 模拟构造函数)

将 mockedstatic 与 mockedConstruction 一起使用时,我面临着一种奇怪的行为。调试器突出显示错误的行,但如果我添加了 System.out.println,我会看到代码正确执行。

这是代码

我想测试接受方法,在进行此单元测试时我正在模拟上下文。

这是单元测试的代码

我做错什么了吗?

非常感谢。

0 投票
1 回答
76 浏览

spring - Mockito 无法解析类的公共静态方法

我有一个用一堆方法Component调用的类:AppUtilpublic static

上面写的两个static方法是由loadUserByUsername一个类的调用方法调用的GearApiUserDetailsService。为了测试GearApiUserDetailsService.loadUserByUsername,我想模拟对这些static方法的调用AppUtil。这就是我的单元测试类现在的样子:

问题是,虽然模拟getActiveProfiles效果很好(经过测试),但模拟在编译readResourceFileAsString时甚至会失败,IntelliJ 报告它无法解决它:

在此处输入图像描述

这两个方法都是publicand static,唯一的区别是第二个方法带有一个参数。

这篇 2020 年的帖子似乎建议确保该pom文件包含mockito-coreat version的依赖项3.5.13。我已经包含了这个依赖项,缓存无效/重新启动,尝试重新运行整个 maven 构建生命周期,但显然由于上述错误,它在编译时仍然失败。想法?(=

0 投票
0 回答
122 浏览

java - InjectMocks 对象上的 Mockito mockStatic

我正在使用 Mockito 3.6 来利用他们的 mockStatic 方法。我在模拟一个也是用于测试的主类的类时遇到问题。

这是我的测试课

由于MainClass使用的是mockStatic和injectMock,所以调用buildURI的时候总是返回null,这在创建HttpRequest的时候是不能接受的。

编辑:为了澄清我的问题,我从环境变量中获取主机和端口,运行此测试时将为空,并且调用new URI()不允许空值。

0 投票
1 回答
21 浏览

junit - JUnit Mockito:测试静态方法并在内部调用另一个存根静态方法不起作用

在 testF2 中,我想测试静态函数 A::f2()。

它在内部调用了另一个静态函数 A::f1()。

我做了存根 A::f1() 使用“MockedStatic”和“when”方式返回 2。

但它不起作用,它返回 0。

如何解决?