问题标签 [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.

0 投票
3 回答
47646 浏览

java - 使用 Mockito 验证方法后没有调用任何内容

我正在使用 Mockito 在 Java 中编写单元测试,并且我想验证某个方法是否是对象上调用的最后一个方法。

我在被测代码中做这样的事情:

在我的模拟中,我不关心编辑行中所有内容的顺序,但重要的是我在保存后不要尝试对其进行任何操作。有没有好的方法来做到这一点?

请注意,我不是在寻找 verifyNoMoreInteractions:它不确认 saveToDatabase 是最后一个调用的东西,如果我在行上调用任何我没有明确验证的东西,它也会失败。我希望能够这样说:

如果有帮助,我将从执行此操作的 JMock 测试切换到 Mockito:

0 投票
4 回答
2048 浏览

c# - “静态反射”在 java 中是如何工作的?(例如在 mockito 或 easymock 中)

我是 .NET 人 - 我主要使用 C# 编写代码。

从 C# 3.0 开始,我们可以利用 lambda 表达式和表达式树来使用静态反射。例如,可以GetMethodName在下面的代码片段中实现返回传入参数的方法名称:

现在,当我查看 Java 世界中的 Mockito 示例(或 EasyMock 示例)时,我看到:

它是如何工作的?

该方法如何when工作?它如何解释mockedList.get(0)为对 get 方法的调用,其中 0 作为参数而不是值传递?

0 投票
3 回答
6996 浏览

web-services - 模拟 Web 服务的策略

我正在实现一个使用 Web 服务的客户端。我想减少依赖并决定模拟网络服务。
我使用mockito,它与 EasyMock 相比具有能够模拟类的优势,而不仅仅是接口。但这不是重点。

在我的测试中,我有这个代码:

我的代码显示的是我“微测试”消费对象。就像我会在我的测试中实现我的生产代码一样。结果 xml 的一个示例是London on GeoNames。在我看来,它太细了。

但是我怎样才能在不给出每一步的情况下模拟一个 web 服务呢?我应该让模拟对象只返回一个 XML 文件吗?

这不是关于代码,而是关于方法

我正在使用 JUnit 4.x 和 Mockito 1.7

0 投票
15 回答
76343 浏览

java - 如何使用 mockito 模拟字符串?

我需要模拟一个测试场景,在该场景中我调用getBytes()String 对象的方法并得到 UnsupportedEncodingException。

我试图使用以下代码来实现这一点:

问题是当我运行我的测试用例时,我得到一个 MockitoException,它说我不能模拟 java.lang.String 类。

有没有办法使用 mockito 模拟 String 对象,或者,当我调用 getBytes 方法时,让我的 String 对象抛出 UnsupportedEncodingException 的方法?


以下是说明问题的更多细节:

这是我要测试的课程:

这是我的测试类(我正在使用 JUnit 4 和 mockito):

0 投票
12 回答
207184 浏览

java - 使用 Mockito 测试抽象类

我想测试一个抽象类。当然,我可以手动编写一个从类继承的模拟。

我可以使用模拟框架(我正在使用 Mockito)而不是手工制作我的模拟来做到这一点吗?如何?

0 投票
11 回答
229636 浏览

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

0 投票
3 回答
14051 浏览

java - mockito 的学习资源

我需要使用 mockito 为现有代码创建单元测试框架。我找不到开始学习 Mockito 的好地方。你能给我指出一个很好的mockito学习资源吗?(在线资源或其他)

0 投票
3 回答
4441 浏览

unit-testing - GWT Mockito 集成

我正在尝试在 GWT 项目中设置和使用 Mockito,但在客户端(在 javascript 中)使用它时遇到问题。我试图添加一个模块并包含 Mockito,但它似乎不起作用(很多错误)。我还尝试从 svn 进行完整的结帐并以这种方式集成 GWT,同样的错误。这应该怎么做?谢谢。

0 投票
2 回答
5187 浏览

java - MockEJB - JUnit Mockito - 无法在第二个单元测试中重新绑定模拟 EJB

嗨,我有一个与 MockEJB 相关的问题。我需要编写单元测试来测试调用 EJB 的代码。我使用 Mockito 为 EJB 编写模拟,并使用 MockEJB 来模拟 JNDI 上下文。

我的测试如下所示:

第一个测试运行良好,但是第二个测试系统性地失败了(mockito 说没有调用预期的方法) 在调试时,我可以看到我第二次尝试将模拟 EJB 部署到 JNDI,它没有部署,并且第一个模拟对象仍然存在。所以实际上第二个测试是从 JNDI 中提取第一个测试中创建的模拟。 另请注意,如果我单独运行第二个测试(通过评论第一个),它运行良好。

我的设置和清理方法如下所示:

我真的不明白会发生什么,我的测试看起来与模拟 EJB 示例非常相似。有人有想法吗?

谢谢

0 投票
10 回答
224492 浏览

java - 使用 Mockito 模拟具有泛型参数的类

有没有一种用泛型参数模拟类的干净方法?假设我必须模拟一个类Foo<T>,我需要将它传递给一个需要Foo<Bar>. 我可以很容易地做到以下几点:

假设getValue()返回泛型类型T。但是当我稍后将它传递给一个期待的方法时,那将会有小猫Foo<Bar>。铸造是这样做的唯一方法吗?