问题标签 [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.
java - EasyMock:如何在没有警告的情况下创建泛型类的模拟?
编码
给我一个警告“类型安全:SomeClass 类型的表达式需要未经检查的转换才能符合 SomeClass<Integer>”。
java - 如何对扩展 SqlMapClientDaoSupport 的 DAO 进行单元测试
Spring DA 有助于编写 DAO。当使用iBATIS作为持久化框架,扩展SqlMapClientDaoSupport时,应该为DAO设置一个SqlMapClient mock,但是我做不到。SqlMapClientTemplate 不是一个接口,EasyMock 不能为它创建一个模拟。
java - 两个 IDE 有不同的结果
我和我的同事在做同一个项目,但我们使用不同的 IDE。他使用 Eclipse 3.4,我使用 IntelliJ 8.0。
最近我提倡使用使用CGLIB的EasyMock来对我们的项目进行一些单元测试。我没有看到在 IntelliJ 中对 EasyMock 生成的部分模拟对象设置断点有任何问题,但我的同事报告说他无法在 Eclipse 中对 EasyMock 生成的部分模拟对象设置断点,因为它报告行号信息不存在生成的类。
在绝望地在谷歌上搜索答案后,我希望我的朋友们能给出关于 SO 的提示。
- 关于为什么 IntelliJ 工作而 Eclipse 在这种情况下不工作的任何想法?
- 任何可能解决此问题的 Eclipse 配置线索?
hibernate - EasyMock 和 Hibernate 标准查询
我正在尝试使用 JUnit4 和 EasyMock 2.4 测试使用休眠标准 API 的 dao 方法。
当我运行测试夹具“testGetAsset”时,我收到以下异常:
我认为这个问题与未使用 Asset.class 初始化的模拟标准对象有关,但我是 EasyMock 和模拟对象的初学者,所以如果有人可以看看并告诉我,我将不胜感激我需要做什么才能使测试通过。
非常感谢,马克
代码如下:
道法
测试班
java - JUnit:确保测试方法中的失败在@After方法中的失败之前显示
我设计了一个小型测试用例类,旨在使模拟更容易(在本例中,使用 JUnit 4 和 EasyMock)。其中一部分是在测试完成后验证模拟,因此模拟在使用@After 注释的方法中进行验证。
但是,如果测试方法本身有失败,导致测试没有完成,mock验证失败,那么JUnit上报的失败就是验证失败。但是,如果报告的失败是测试本身的失败,则它会更有用。
那么,在 JUnit 中是否有一种方法可以确保始终优先显示测试方法中的错误/失败,而不是使用 @After 注释的方法中出现的错误/失败?
java - Easymock:捕获的顺序重要吗?
这似乎是一个关于 Easymock 的非常详细的问题,但我很难找到该库的支持站点/论坛/邮件列表。
captures()
在使用似乎无序返回捕获的参数的方法时,我遇到了一个错误。
这是我正在测试的简化版本:
(请注意,这只是一个简化的测试用例 - 我知道我可以指定我期望传递给我的模拟的参数的确切值,但在我的真实案例中,参数是具有少数字段的复杂对象,我想要捕获对象,这样我就可以只针对其中几个字段进行断言,而无需在我的测试用例中重新创建整个对象)。
当我运行测试时,它在以下位置失败:
junit.framework.ComparisonFailure:预期:<[one]> 但为:<[four]>
这意味着 EasyMock 捕获的参数cap1
不是对该方法的第一次调用,而是最后一次调用(因为值为four
)。如果我反转captures()
声明,即使用cap4
第一个方法调用等,我会得到相同的结果。
这似乎可能是 EasyMock 中的一个错误 - 在不同调用中传递给同一方法的不同参数似乎没有被正确捕获。
有其他人使用capture()
EasyMock 并遇到类似问题吗?您是否知道一种简单的解决方法,或者我可以捕获传递给我的模拟方法的参数的不同方法?
更新 1:固定代码示例以显示我正在使用createMock
,而不是createStrictMock
,但两者都出现相同的错误(尽管捕获的实际值发生了变化)。
java - 如何验证方法调用并忽略 EasyMock 中的返回值?
尝试做一件简单的事情时我感到很沮丧——我想在模拟对象上调用一个方法,而不是检查它的返回值。我只想检查它是否使用正确的参数调用。
例子:
那么有没有 EasyMock 专家呢?我不关心我调用的底层方法的设计而不是存储返回值,因为实际实现来自第三方网络库(Apache Mina),我无法控制 API。
编辑: 一段时间后得出结论
我抛弃了 EasyMock,因为它并不容易,然后选择了Mockito。
java - 我可以模拟超类方法调用吗?
有时,你想测试一个类方法,并且你想对超类方法的调用做一个期望。我没有找到使用easymock或jmock在java中实现这种期望的方法(我认为这是不可能的)。
有一个(相对)干净的解决方案,使用超类方法逻辑创建一个委托,然后对其设置期望,但我不知道为什么以及何时使用该解决方案¿任何想法/示例?
谢谢
c# - “静态反射”在 java 中是如何工作的?(例如在 mockito 或 easymock 中)
我是 .NET 人 - 我主要使用 C# 编写代码。
从 C# 3.0 开始,我们可以利用 lambda 表达式和表达式树来使用静态反射。例如,可以GetMethodName
在下面的代码片段中实现返回传入参数的方法名称:
现在,当我查看 Java 世界中的 Mockito 示例(或 EasyMock 示例)时,我看到:
它是如何工作的?
该方法如何when
工作?它如何解释mockedList.get(0)
为对 get 方法的调用,其中 0 作为参数而不是值传递?
java - 等效于 EasyMock 中的 LastCall.IgnoreArguments
我已经广泛使用 Rhino.Mocks,目前正在使用 EasyMocks 在 Java 中编写一些测试。但是,我无法在 EasyMocks 中提取 LastCall.IgnoreArguments() Rhino.Mocks 等效项。
无论方法中的参数如何,如何使用 Easy Mocks 返回一个值。
例如:
无论参数sweetMsg如何,我如何模拟此界面以返回“Hell Oh World”。