问题标签 [easymock]

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 投票
5 回答
27315 浏览

java - EasyMock:如何在没有警告的情况下创建泛型类的模拟?

编码

给我一个警告“类型安全:SomeClass 类型的表达式需要未经检查的转换才能符合 SomeClass<Integer>”。

0 投票
4 回答
4691 浏览

java - 如何对扩展 SqlMapClientDaoSupport 的 DAO 进行单元测试

Spring DA 有助于编写 DAO。当使用iBATIS作为持久化框架,扩展SqlMapClientDaoSupport时,应该为DAO设置一个SqlMapClient mock,但是我做不到。SqlMapClientTemplate 不是一个接口,EasyMock 不能为它创建一个模拟。

0 投票
1 回答
365 浏览

java - 两个 IDE 有不同的结果

我和我的同事在做同一个项目,但我们使用不同的 IDE。他使用 Eclipse 3.4,我使用 IntelliJ 8.0。

最近我提倡使用使用CGLIB的EasyMock来对我们的项目进行一些单元测试。我没有看到在 IntelliJ 中对 EasyMock 生成的部分模拟对象设置断点有任何问题,但我的同事报告说他无法在 Eclipse 中对 EasyMock 生成的部分模拟对象设置断点,因为它报告行号信息不存在生成的类。

在绝望地在谷歌上搜索答案后,我希望我的朋友们能给出关于 SO 的提示。

  1. 关于为什么 IntelliJ 工作而 Eclipse 在这种情况下不工作的任何想法?
  2. 任何可能解决此问题的 Eclipse 配置线索?
0 投票
1 回答
6061 浏览

hibernate - EasyMock 和 Hibernate 标准查询

我正在尝试使用 JUnit4 和 EasyMock 2.4 测试使用休眠标准 API 的 dao 方法。

当我运行测试夹具“testGetAsset”时,我收到以下异常:

我认为这个问题与未使用 Asset.class 初始化的模拟标准对象有关,但我是 EasyMock 和模拟对象的初学者,所以如果有人可以看看并告诉我,我将不胜感激我需要做什么才能使测试通过。

非常感谢,马克

代码如下:

道法

测试班

0 投票
2 回答
496 浏览

java - JUnit:确保测试方法中的失败在@After方法中的失败之前显示

我设计了一个小型测试用例类,旨在使模拟更容易(在本例中,使用 JUnit 4 和 EasyMock)。其中一部分是在测试完成后验证模拟,因此模拟在使用@After 注释的方法中进行验证。

但是,如果测试方法本身有失败,导致测试没有完成,mock验证失败,那么JUnit上报的失败就是验证失败。但是,如果报告的失败是测试本身的失败,则它会更有用。

那么,在 JUnit 中是否有一种方法可以确保始终优先显示测试方法中的错误/失败,而不是使用 @After 注释的方法中出现的错误/失败?

0 投票
6 回答
3758 浏览

java - Easymock:捕获的顺序重要吗?

这似乎是一个关于 Easymock 的非常详细的问题,但我很难找到该库的支持站点/论坛/邮件列表。

captures()在使用似乎无序返回捕获的参数的方法时,我遇到了一个错误。

这是我正在测试的简化版本:

(请注意,这只是一个简化的测试用例 - 我知道我可以指定我期望传递给我的模拟的参数的确切值,但在我的真实案例中,参数是具有少数字段的复杂对象,我想要捕获对象,这样我就可以只针对其中几个字段进行断言,而无需在我的测试用例中重新创建整个对象)。

当我运行测试时,它在以下位置失败:

junit.framework.ComparisonFailure:预期:<[one]> 但为:<[four]>

这意味着 EasyMock 捕获的参数cap1不是对该方法的第一次调用,而是最后一次调用(因为值为four)。如果我反转captures()声明,即使用cap4第一个方法调用等,我会得到相同的结果。

这似乎可能是 EasyMock 中的一个错误 - 在不同调用中传递给同一方法的不同参数似乎没有被正确捕获。

有其他人使用capture()EasyMock 并遇到类似问题吗?您是否知道一种简单的解决方法,或者我可以捕获传递给我的模拟方法的参数的不同方法?

更新 1:固定代码示例以显示我正在使用createMock,而不是createStrictMock,但两者都出现相同的错误(尽管捕获的实际值发生了变化)。

0 投票
1 回答
2695 浏览

java - 如何验证方法调用并忽略 EasyMock 中的返回值?

尝试做一件简单的事情时我感到很沮丧——我想在模拟对象上调用一个方法,而不是检查它的返回值。我只想检查它是否使用正确的参数调用。

例子:

那么有没有 EasyMock 专家呢?我不关心我调用的底层方法的设计而不是存储返回值,因为实际实现来自第三方网络库(Apache Mina),我无法控制 API。

编辑: 一段时间后得出结论

我抛弃了 EasyMock,因为它并不容易,然后选择了Mockito

0 投票
6 回答
21045 浏览

java - 我可以模拟超类方法调用吗?

有时,你想测试一个类方法,并且你想对超类方法的调用做一个期望。我没有找到使用easymock或jmock在java中实现这种期望的方法(我认为这是不可能的)。

有一个(相对)干净的解决方案,使用超类方法逻辑创建一个委托,然后对其设置期望,但我不知道为什么以及何时使用该解决方案¿任何想法/示例?

谢谢

0 投票
4 回答
2048 浏览

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

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

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

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

它是如何工作的?

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

0 投票
1 回答
1496 浏览

java - 等效于 EasyMock 中的 LastCall.IgnoreArguments

我已经广泛使用 Rhino.Mocks,目前正在使用 EasyMocks 在 Java 中编写一些测试。但是,我无法在 EasyMocks 中提取 LastCall.IgnoreArguments() Rhino.Mocks 等效项。

无论方法中的参数如何,如何使用 Easy Mocks 返回一个值。

例如:

无论参数sweetMsg如何,我如何模拟此界面以返回“Hell Oh Wo​​rld”。