草庐IT

Easymock

全部标签

高效单元测试——EasyMock技术与应用

目录1.EasyMock简介2.EasyMock实例3.EasyMock模型3.1、record-replay-verify模型3.2、record 3.3、replay 3.4、verify3.5、easymock部分功能说明2.记录mock对象期望的行为4.EasyMock应用4.1、Easymock对AccountService进行测试4.2、用Easymock对WebClient的测试 ​编辑1.EasyMock简介Mock对象的弊端?手动的构造Mock对象会给开发人员带来额外的编码量为创建Mock对象而编写的代码很有可能引入错误根据现有的接口或类动态生成Mock对象,能避免额外的编码

java - PowerMock 的 expectNew() 没有像预期的那样模拟构造函数

我正在尝试了解各种模拟库的来龙去脉和PowerMock(特别是EasyMock扩展)是列表中的下一个。我试图模拟一个构造函数,当我尝试复制它们时,所提供的示例没有相同的响应。据我所知,它从不模拟构造函数,只是像正常情况一样继续进行。这是测试类:@RunWith(PowerMockRunner.class)@PrepareForTest({Writer.class})publicclassFaultInjectionSituationTest{@TestpublicvoidtestActionFail()throwsException{FaultInjectionSituationfis

java - PowerMock 链接错误 : MockClassLoader javax/management/MBeanServer

我看到以下JARS出现以下PowerMock/EasyMock错误:jaractivemq-all-5.9.0.jarcom.ibm.mq.headers-7.0.1.5.jarcom.ibm.mq.jmqi-7.5.0.0.jarcom.ibm.mqjms-7.5.0.0.jarjavassist-3.9.0.GA.jarjunit-4.10.jarpowermock-easymock-1.5.1-full.jarcom.ibm.mq-7.0.1.5.jareasymock-3.2.jarobjenesis-2.1.jarcglib-nodep-2.2.jareasymockclas

java - EasyMock中 'same'和 'eq'的区别

在EasyMock中,'same'和'eq'之间是否存在显着(甚至任何)差异? 最佳答案 same检查两个对象是否实际上是同一个实例(引用相等)。eq调用equals并因此检查两者是否具有相同的值(值相等)。请记住,默认的equals实现在内部使用==,因此eq将执行与same如果您使用的类没有适当的equals覆盖。但是,最好通过使用same来表示引用相等,使用eq来表示值相等来说明您的意图。它还可以帮助您找到错误(即发现您忘记覆盖equals)。 关于java-EasyMock中's

java - 我可以模拟父类(super class)方法调用吗?

有时候,你想测试一个类方法,你想对父类(superclass)方法的调用做一个期望。我没有找到使用easymock或jmock在java中实现这种期望的方法(我认为这是不可能的)。有一个(相对)干净的解决方案,使用父类(superclass)方法逻辑创建委托(delegate),然后对其设置期望,但我不知道为什么以及何时使用该解决方案,有什么想法/示例吗?谢谢 最佳答案 好吧,如果你愿意,你可以。不知道大家是否熟悉JMockit,去看看吧。目前的版本是0.999.17,同时,我们来看看吧……假设有以下类层次结构:publicclas

java - EasyMock : java. lang.IllegalStateException : 1 matchers expected, 2 记录

我在使用EasyMock2.5.2和JUnit4.8.2(通过Eclipse运行)时遇到问题。我在这里阅读了所有类似的帖子,但没有找到答案。我有一个包含两个测试相同方法的测试的类。我正在使用匹配器。单独运行时每个测试都会通过。第一个测试总是通过-如果我在文件中切换测试顺序,情况就是如此。这是测试代码的简化版本:privateXthingmockXthing;privateMainThingmainThing;@BeforepublicvoidsetUp(){mockXthing=EasyMock.createMock(Xthing.class);mainThing=newMainThi

java.lang.IllegalStateException : incompatible return value type 错误

我正在使用EasyMock在测试用例中创建模拟类。expect(entity.getType()).andReturn("string");类型属于String数据类型。在我的开发环境中它运行良好。但是如果我转移到我的服务器并进行构建,它会失败并出现以下错误:java.lang.IllegalStateException:incompatiblereturnvaluetype我不知道为什么它在服务器上失败并在我的开发机器上执行。开发EasyMock版本:2.5.2 最佳答案 我刚遇到同样的问题。我在EasyMock中进行了部分模拟,

java - Mockito 比 EasyMock 更受欢迎?

关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题吗?更新问题,以便editingthispost提供事实和引用来回答它.关闭9年前。Improvethisquestion最近我切换到Mockito框架并且对它非常满意(另见blog-post)。从EasyMock到Mockito的切换非常简单,我设法使测试向下兼容(即测试用例的行为相同)。您是否看到更喜欢EasyMock而不是Mockito的真正原因或枪决标准?到目前为止,我使用的代码库我不能,但我对你的观点很感兴趣。 最佳答案 开发Mockito是为了

java - Mockito 比 EasyMock 更受欢迎?

关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题吗?更新问题,以便editingthispost提供事实和引用来回答它.关闭9年前。Improvethisquestion最近我切换到Mockito框架并且对它非常满意(另见blog-post)。从EasyMock到Mockito的切换非常简单,我设法使测试向下兼容(即测试用例的行为相同)。您是否看到更喜欢EasyMock而不是Mockito的真正原因或枪决标准?到目前为止,我使用的代码库我不能,但我对你的观点很感兴趣。 最佳答案 开发Mockito是为了

java - PowerMock ECLemma 覆盖问题

我们在JUnit中使用EasyMock和PowerMock。使用的覆盖工具是ECLEmma。使用EasyMock,它以绿色(如已覆盖)正确显示覆盖范围。但是,对于使用PowerMock进行单元测试的代码,覆盖率显示为红色(未覆盖)。在网上阅读过类似的问题。但是,只是想检查是否有解决方案。谢谢文卡特斯 最佳答案 是的,有一个解决方案:首先你必须添加这个maven依赖:org.powermockpowermock-module-junit4-rule-agent1.6.4test然后,不要使用这个注解@RunWith(PowerMock