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

java - 如何使用 easymock Capture 进行测试

我有以下代码

registerNewRecord 方法调用 RecordDao 插入方法,updateRecord 调用同一个 DAO 上的更新方法。

我有以下easymock代码:

问题是因为上面 rd 插入的同一 Record 实例正在更新,insertRc Capture 对象也正在更新。所以我不能断言完成标志在插入时设置为假。

我究竟做错了什么?

0 投票
1 回答
2717 浏览

java - EasyMock:我做错了什么?

所以,我需要测试一个应用程序的服务层(我需要测试一些方法——这是我第一次接触测试部分)

来自接口的方法:

列出 getAllOrderedDescByRating();

我收到:

java.lang.AssertionError:
意外的方法调用makePersistent(faq.FAQ@3461d1):getAllOrderedDescByRating():预期:1,实际:0 makePersistent():预期:1,实际:1(+1)

我做错了什么?

0 投票
4 回答
21849 浏览

easymock - EasyMock:在模拟中测试该方法不被调用

根据标题,只是想知道是否有一种带有 easymock 的机制来测试方法是否在其生命周期内未被调用。

0 投票
4 回答
1786 浏览

java - 延迟 EasyMock 验证

我正在使用 EasyMock 为 Java 中的 JUnit 测试创建模拟对象。我创建了一个模拟对象并将其传递给另一个线程,它期望调用方法。在另一个线程中,调用被包含在一个try/catch(Throwable)块中,因此当模拟上发生意外调用并因此抛出AssertionError时,该错误被 catch 块捕获并处理。因此,即使发生了意外调用,测试也通过了。

为了使测试按预期失败,我想在EasyMock.verify(mock)最后延迟对测试运行线程中调用的调用的所有验证。这可能吗?如何?

0 投票
4 回答
33219 浏览

junit - JUnit Easymock 意外的方法调用

我正在尝试在带有 EasyMock 的 JUnit 中设置测试,但遇到了一个小问题,我似乎无法解决这个问题。我希望这里有人可以提供帮助。

这是我要测试的方法的简化版本:

好的,所以使用 EasyMock 我已经模拟了service.getObj(myObj)通话并且效果很好。

当 JUnitdao.insert(otherObj调用 ) 时,我的问题就出现了。EasyMock*Unexpected Method Call*在上面抛出一个。

我不介意在我的测试中嘲笑那个 dao 并使用expectLastCall().once();它,但假设我有一个句柄,它在插入时作为参数传递......我当然不这样做,因为它是有条件的在被测试的方法的上下文中创建。

任何人都必须处理这个问题并以某种方式解决它?

谢谢。

0 投票
1 回答
3732 浏览

java - EasyMock:在编译时提供你不知道的参数

使用最新版本的 EasyMock,我有一个需要存根的方法。该方法接受一个对象参数并返回 void。

我正在测试的方法正在调用存根方法。那里没有惊喜。我的困难在于,作为模拟方法的参数提供的对象是由我正在测试的方法创建的。

我知道我可以使用它来解决这个问题,createNiceMock()但是有没有办法明确地排除这个方法?

示例代码:

0 投票
6 回答
4756 浏览

java - Easymock 使用日期期望

我正在使用easymock 模拟一个在其主体中有日期的方法,如下所示:

我的测试看起来像这样:

但是当我运行测试时,有时会出现这样的错误:

意外的方法调用测试方法(2010 年 1 月 28 日星期四 09:45:13 GMT-03:00):测试方法(2010 年 1 月 28 日星期四 09:45:13 GMT-03:00):预期:1,实际:0

我认为这是因为有时日期略有不同。我已经尝试了一些灵活的期望,但没有成功。有没有办法解决这个问题?

0 投票
4 回答
9981 浏览

java - 模拟 Runtime.getRuntime()?

任何人都可以就如何最好地使用 EasyMock 来期待电话提出任何建议Runtime.getRuntime().exec(xxx)吗?

我可以将调用移动到另一个实现接口的类中的方法中,但宁愿不在理想世界中。

我想知道是否有人有任何其他建议?

0 投票
6 回答
9860 浏览

easymock - 在套件测试期间,EasyMock 说 0 个匹配器预期 1 个记录

所以我一直在使用 EasyMock 的类扩展。突然间我得到了这个异常,但只有当我运行整个测试套件时:

涉及的代码就是这个小美人(修剪了一下):

在第一次期望时抛出异常。这真的没有意义。它说它正在获得一个匹配器,但该方法甚至不带参数。奇怪的是,它只是在测试套件期间!我在@Before中创建了一个新的模拟,所以它不应该从其他地方继承任何东西(不是其他方法会有一个匹配器)

那么,有什么想法吗?

0 投票
2 回答
1324 浏览

java - EasyMock 类扩展模拟不是模拟方法

我的代码中有这个:

...

因为我想测试 incrPlayInPlay 方法是否被调用。但是,mockMember.incrPlayInPlay 实际上是在调用具体类中的方法,而不是为 mock 设置期望。我究竟做错了什么?