问题标签 [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 投票
1 回答
399 浏览

java - 在同一个 mockControl 中使用普通 mock 和 NiceMock

是否可以在同一个 mockControl 对象中使用 niceMock 和“普通”模拟?

目前,如果我尝试将其中一个模拟设置为 nice

似乎将整个控件重置为不错

所以我想要一种在同一个控件中拥有不同模拟类型的方法。

谢谢

0 投票
0 回答
3188 浏览

java - java单元测试模拟HttpClient和webdav

你好我有一个类用于做webdav相关操作比如创建目录,Implementatiion见下图(createDir方法)。问题是如何很好地测试它,也许使用 EasyMock 或类似的库。有任何想法吗?谢谢!

0 投票
2 回答
1971 浏览

java - EasyMock:期望集合中的元素数量

如何在 Easymock 中验证集合中的元素数量?我正在测试的类应该调用一个方法,传入一个包含n 个元素的集合。现在,我正在匹配列表中的任何对象:

我想指定集合中元素的数量:

或者更好的是,匹配集合中的元素:

我是否必须滚动自己的匹配器,有内置的吗?或者有人有他们想分享的setOfNObject或匹配器吗?setEq

0 投票
1 回答
142 浏览

easymock - Easymock.and(int, int) 有什么用?

EasyMock 有预定义的参数匹配器and(X first, X second)

文件说:

如果第一个和第二个中使用的匹配器都匹配,则匹配。适用于所有基本类型和对象。

但我不明白数字类型和匹配器的用例是什么。例如,and(int first, int second)如果 first 不等于 second 是没有意义的,一个整数如何同时等于 first 和 second 而 first 和 second 是不同的值?

0 投票
2 回答
619 浏览

groovy - 如何期望一个 Mock 方法在 Groovy 中被调用“任意”次数

我无法在 Groovy 的 MockFor 对象中找到正式的方法来定义可以像在 EasyMock 中一样多次调用的预期调用,使用anyTimes()

我知道我可以定义一个“1..999”的范围,我会涵盖我想要的,但我想知道是否有这样的“anyTimes()”方法可用,因为我找不到任何对它的引用谷歌。

谢谢

0 投票
1 回答
5033 浏览

java - EasyMock 期望使用 Collection 类型的参数调用方法

我遇到了问题:

当我重播时,我调用这个 DAO 方法,然后我得到

来自意外调用的 someObj1 等于来自预期调用的 someObj1 并且元素的顺序相同。

起初我是这样解决的:

但现在我必须测试我的服务类调用 dao.save 是否包含恰好包含 2 个元素的集合,因此isA(Collecion.class)不再起作用。

如何解决这个问题呢?比你。

0 投票
2 回答
5444 浏览

easymock - easymock 是否依赖于 net/sf/cglib/proxy/Enhancer?

我正在尝试完成一个关于easymock的教程,以便第一次使用它。 http://www.vogella.de/articles/EasyMock/article.html

我正在使用 - 面向 Java 开发人员的 Eclipse IDE(内部版本号:20100218-1602)
- Junit 4 插件
- easymock 3.0

如下所述创建项目并作为 JUNIT 测试执行后,我得到了错误。

这是什么错误,我该如何解决?它发生在线上

java.lang.NoClassDefFoundError: net/sf/cglib/proxy/Enhancer at org.easymock.internal.ClassExtensionHelper.getControl(ClassExtensionHelper.java:57) at org.easymock.EasyMock.getControl(EasyMock.java:2068) at org. easymock.EasyMock.replay(EasyMock.java:1970) 在income.IncomeCalculatorTest.testCalc1(IncomeCalculatorTest.java:33)
在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 在 sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) 在 java.lang.reflect.Method.invoke(Unknown Source)在 org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44) 在 org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15) 在 org.junit.runners.model。 FrameworkMethod.invokeExplosively(FrameworkMethod.java:41) at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20) at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java: 28) 在 org.junit.runners.BlockJUnit4ClassRunner 的 org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)。runChild(BlockJUnit4ClassRunner.java:73) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:46) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:180)
在 org.junit.runners.ParentRunner.access$000(ParentRunner.java:41)
在 org.junit.runners.ParentRunner$1.evaluate(ParentRunner.java:173)
在 org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28) 在 org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31) 在 org.junit.runners.ParentRunner .run(ParentRunner.java:220) at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:46) at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution .java:38) 在 org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683) 在 org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467) ) 在 org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390) 在 org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197) 引起: java.lang.ClassNotFoundException:net.sf。cglib.proxy.Enhancer at java.net.URLClassLoader$1.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(Unknown Source) at java.lang.ClassLoader.loadClass (Unknown Source) at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) ... 28 更多

0 投票
2 回答
718 浏览

java - 使用 EasyMock 模拟使用 jni 的对象

所以我的测试类的代码看起来很像这样

我的意图是将报告的构造提取到受保护的方法中并覆盖它以使用模拟对象,然后我可以对其进行测试以确保使用正确的数据调用了 someMethod。

到目前为止,一切都很好。但是 Report 不在我的控制之下,更糟糕的是,它使用 JNI 在运行时加载库。

如果我报告报告 = EasyMock.createMock(Report.class)

然后 EasyMock 尝试使用反射来找出类成员,但这会导致尝试加载 JNI 库,但失败(JNI 库仅在 UNIX 上可用)。

我正在考虑两件事:a)引入一个具有两个实现的 ReportWrapper 接口,其中一个将调用委托给一个真实的报告(所以基本上是一个代理),第二个基本上将使用一个模拟对象。或 b) 不调用 someMethod,而是调用受保护的方法,该方法又会调用我可以在测试子类中覆盖的 someMethod。

无论哪种方式,它似乎都令人讨厌。还有更好的方法吗?

0 投票
2 回答
1019 浏览

easymock - setReturnValue 的 easymock 替换

嗨,

新版本的easymock已经弃用了setReturnValueorg.easymock.MockControl

有没有办法为调用设置默认返回值,还是我必须expect(...)改用?

我还想提一下,除了这个方法我想返回一个默认值(任何给定的次数)之外,其他方法必须是严格的(排序和调用计数很重要)

0 投票
1 回答
5012 浏览

java - 尽管在 .andReturn 中设置了新对象,EasyMock 期望方法始终返回 null

我的源代码为:

我把我的测试用例写成:

但是,当我运行测试时,我总是NullPointerException在第 1 行得到一个。

有人可以帮我解决这个问题吗?

谢谢。