问题标签 [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 在 Java 中编写单元测试,并且我想验证某个方法是否是对象上调用的最后一个方法。
我在被测代码中做这样的事情:
在我的模拟中,我不关心编辑行中所有内容的顺序,但重要的是我在保存后不要尝试对其进行任何操作。有没有好的方法来做到这一点?
请注意,我不是在寻找 verifyNoMoreInteractions:它不确认 saveToDatabase 是最后一个调用的东西,如果我在行上调用任何我没有明确验证的东西,它也会失败。我希望能够这样说:
如果有帮助,我将从执行此操作的 JMock 测试切换到 Mockito:
c# - “静态反射”在 java 中是如何工作的?(例如在 mockito 或 easymock 中)
我是 .NET 人 - 我主要使用 C# 编写代码。
从 C# 3.0 开始,我们可以利用 lambda 表达式和表达式树来使用静态反射。例如,可以GetMethodName
在下面的代码片段中实现返回传入参数的方法名称:
现在,当我查看 Java 世界中的 Mockito 示例(或 EasyMock 示例)时,我看到:
它是如何工作的?
该方法如何when
工作?它如何解释mockedList.get(0)
为对 get 方法的调用,其中 0 作为参数而不是值传递?
web-services - 模拟 Web 服务的策略
我正在实现一个使用 Web 服务的客户端。我想减少依赖并决定模拟网络服务。
我使用mockito,它与 EasyMock 相比具有能够模拟类的优势,而不仅仅是接口。但这不是重点。
在我的测试中,我有这个代码:
我的代码显示的是我“微测试”消费对象。就像我会在我的测试中实现我的生产代码一样。结果 xml 的一个示例是London on GeoNames。在我看来,它太细了。
但是我怎样才能在不给出每一步的情况下模拟一个 web 服务呢?我应该让模拟对象只返回一个 XML 文件吗?
这不是关于代码,而是关于方法。
我正在使用 JUnit 4.x 和 Mockito 1.7
java - 如何使用 mockito 模拟字符串?
我需要模拟一个测试场景,在该场景中我调用getBytes()
String 对象的方法并得到 UnsupportedEncodingException。
我试图使用以下代码来实现这一点:
问题是当我运行我的测试用例时,我得到一个 MockitoException,它说我不能模拟 java.lang.String 类。
有没有办法使用 mockito 模拟 String 对象,或者,当我调用 getBytes 方法时,让我的 String 对象抛出 UnsupportedEncodingException 的方法?
以下是说明问题的更多细节:
这是我要测试的课程:
这是我的测试类(我正在使用 JUnit 4 和 mockito):
java - 使用 Mockito 测试抽象类
我想测试一个抽象类。当然,我可以手动编写一个从类继承的模拟。
我可以使用模拟框架(我正在使用 Mockito)而不是手工制作我的模拟来做到这一点吗?如何?
java - Verify object attribute value with mockito
I have a method call which I want to mock with mockito. To start with I have created and injected an instance of an object on which the method will be called. My aim is to verify one of the object in method call.
Is there a way that mockito allows you to assert or verify the object and it's attributes when the mock method is called?
example
Instead of doing anyObject()
i want to check that argument object contains some particular fields
java - mockito 的学习资源
我需要使用 mockito 为现有代码创建单元测试框架。我找不到开始学习 Mockito 的好地方。你能给我指出一个很好的mockito学习资源吗?(在线资源或其他)
unit-testing - GWT Mockito 集成
我正在尝试在 GWT 项目中设置和使用 Mockito,但在客户端(在 javascript 中)使用它时遇到问题。我试图添加一个模块并包含 Mockito,但它似乎不起作用(很多错误)。我还尝试从 svn 进行完整的结帐并以这种方式集成 GWT,同样的错误。这应该怎么做?谢谢。
java - MockEJB - JUnit Mockito - 无法在第二个单元测试中重新绑定模拟 EJB
嗨,我有一个与 MockEJB 相关的问题。我需要编写单元测试来测试调用 EJB 的代码。我使用 Mockito 为 EJB 编写模拟,并使用 MockEJB 来模拟 JNDI 上下文。
我的测试如下所示:
第一个测试运行良好,但是第二个测试系统性地失败了(mockito 说没有调用预期的方法) 在调试时,我可以看到我第二次尝试将模拟 EJB 部署到 JNDI,它没有部署,并且第一个模拟对象仍然存在。所以实际上第二个测试是从 JNDI 中提取第一个测试中创建的模拟。 另请注意,如果我单独运行第二个测试(通过评论第一个),它运行良好。
我的设置和清理方法如下所示:
我真的不明白会发生什么,我的测试看起来与模拟 EJB 示例非常相似。有人有想法吗?
谢谢
java - 使用 Mockito 模拟具有泛型参数的类
有没有一种用泛型参数模拟类的干净方法?假设我必须模拟一个类Foo<T>
,我需要将它传递给一个需要Foo<Bar>
. 我可以很容易地做到以下几点:
假设getValue()
返回泛型类型T
。但是当我稍后将它传递给一个期待的方法时,那将会有小猫Foo<Bar>
。铸造是这样做的唯一方法吗?