问题标签 [mockito]
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.
java - Mockito 如何仅模拟超类方法的调用
我在一些测试中使用了 Mockito。
我有以下课程:
我只想模拟super.save
. ChildService
第一次调用必须调用真正的方法。有没有办法做到这一点?
unit-testing - 第一次调用模拟方法时如何只抛出异常?
我有一个可以多次调用的模拟对象的方法(想想递归)。该方法定义如下:
为了告诉它失败,我使用了这个约定:
但是,这会使该方法在每次调用时都抛出此异常。例如,我怎样才能使它只在第一次和第三次被调用时抛出它?这意味着,例如,第二次和第四次它只是返回而不抛出异常。请注意,我不是 doCommit() 的作者,也没有可以更改的源代码。
java - 模拟文件类和 NullPointerException
我正在使用 Mockito 创建一个文件模拟对象,该对象将用作存储新文件的目录。
在我的代理类中:
但是在方法内部创建新文件时,我在 File 的初始化块中收到 NullPointerException createNewFile
:
我认为这是因为 File 没有任何空的构造函数,所以在模拟对象时,一些内部状态保持为空。
我是否采取了错误的方法来模拟File folder
对象?我的目标是在创建新文件之前检查一些约束,但我不想依赖文件系统上现有的真实文件夹。
谢谢你。
java - 莫基托。验证方法参数
我已经用谷歌搜索了这个,但没有找到任何相关的东西。我有这样的事情:
现在,我想验证mymethod(Object o)
调用 insideruntestmethod()
是使用 Object 调用的o
,而不是任何其他调用。但我总是通过测试,无论我在验证中添加什么,例如:
或者
或者
我总是通过考试。我怎样才能完成该验证(如果可能)?
谢谢你。
scala - 模拟 scala 对象
我正在使用 mockito 并试图模拟一个 scala 对象。
这给了我两个编译错误。
如果我将 Sample 从对象更改为类,它就可以工作。是否可以用 mockito 模拟 scala 对象?如果是怎么办?
java - 使用 Mockito,如何在 void 方法上拦截回调对象?
我正在使用 mockito 测试旧版 JAAS/LDAP 登录模块。
接口定义了javax.security.auth.callback.CallbackHandler
函数:
我期望callbacks
包含一个NameCallback
,这是需要被操纵以通过测试的对象。
有没有办法有效地模拟这个,或者我会更好地使用 stubbed 实现CallbackHandler
?
java - 在 Mockito 中捕获参数
我正在测试某个课程。这个类在内部实例化一个“GetMethod”对象,该对象被传递给一个“HttpClient”对象,该对象被注入到测试类中。
我在嘲笑“HttpClient”类,但我也需要修改“GetMethod”类的一种方法的行为。我正在玩 ArgumentCaptor,但我似乎无法在“何时”调用中获取实例化对象。
例子:
回复:
easymock - mockito 或 easymock 可以代替 rmock
我正在处理一个遗留项目,我们开始替换一些旧的遗留代码。由于 Rmock 不支持 junit4,我们想替换它。我想知道的一件事是 - 我如何替换 rmock 的 dynamictestsuite 功能。这是一个很好的功能,您可以在其中为每次运行创建一个动态测试套件,并且可以执行类似的操作。
这将使所有测试类不以 oldTest 结尾并创建一个动态测试套件。等等,你明白了。
java - Mockito 通过但代码覆盖率仍然很低
我已经使用 mockito 来模拟一个类,但是当我使用代码覆盖率时,它不会检测到该方法被调用。难道我做错了什么?请帮忙!
java - 对于 Mockito 间谍来说,这是一个正确的案例吗?
假设我有一堂课
我想用 Mockito 测试 someMethod() 的行为。
我能想到的唯一方法是使用 spy();
就像是
我是 mockito 的新手,文档说
“真正的间谍应该小心谨慎地偶尔使用,例如在处理遗留代码时。”
因此,也许我遗漏了一些东西,并且有更好(正确)的方法来验证是否调用了 methodA 和 methodB 而无需在测试用例中显式调用它们。
谢谢。