问题标签 [jmock]

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 投票
2 回答
512 浏览

java - 使用 Hibernate 进行测试:基于持久性的对象依赖链

我正在为 DAO 层准备单元测试,该层与实体对象交互以持久保存到数据库中。

技术 Hibernate Java 1.6 JUnit

假设我想创建测试方法 addEntityA()

为此,我创建了 EntityA 对象。现在的问题是 EntityA 是 EntityB 的子级。所以我必须在EntityA中指定EntityB的引用。只有当 EntityB 先被持久化时,EntityA 才会被持久化到数据库中。因此,为了测试 EntityA 的持久性,我将测试 EntityB 的持久性。这样,它可以导致实体链必须在 EntityA 实际持久化以进行测试之前持久化。有人可能会争辩说我应该引用已经持久化的 EntityB 对象。但问题是我不想让测试用例依赖于数据库中的测试而不是测试数据。我与 JMock 解决的问题有些相似,但不确定 Jmock 在这里如何以及是否有用?

如果问题不清楚,请告诉我?

0 投票
1 回答
1446 浏览

java - 当要模拟的方法具有多个参数时,如何使用 Jmock 编写自定义约束

我在为一些大型代码库编写单元测试用例时遇到了困难,我必须模拟很多类,以便我可以轻松地进行测试。我在 Jmock 的 API 文档中发现我可以使用的 customeconstraint 包含一个方法

如果参数符合预期,这将返回 true。

但是我的方法是用多个参数调用的。如何评估参数并确保调用该方法的参数是正确的。提前致谢。

0 投票
5 回答
6718 浏览

jmock - JMOCK 依赖问题

我正在尝试完成我的第一个 JMOCK 教程http://www.jmock.org/getting-started.html,但进展并不顺利。

我遇到的问题如下:

我在互联网上找到了解决方案。请看下面:

解决方案是确保在每个插件中对 JMock JAR 的任何依赖都发生在对 JUnit 的依赖之前。这样,Hamcrest 是从 JMock 加载的,而不是从 JUnit 加载的。

我对解决方案的理解是:让测试类使用 JMock 的 hamcrest jar 而不是 Junit 的那个?我对吗?我应该在 Eclipse 中做什么来实现它?

谢谢,

莎拉

0 投票
1 回答
207 浏览

maven - 有没有办法在 Maven 中包含同一工件的两个版本?

这不起作用。

0 投票
3 回答
1982 浏览

java - Jmock Mockery,模拟文件系统对象

我希望能够使用 Mockery 在 java 中模拟 File 对象。我似乎我们可能无法为 java 中的文件创建接口。这可能吗?

编辑:

我需要在 Indexer Class 中测试 indexDoc 函数。

Indexer 类中的索引文档功能

0 投票
3 回答
4615 浏览

java - 有没有一种使用 Hamcrest 匹配字段的简单方法?

我想测试对象的特定字段是否与我指定的值匹配。在这种情况下,它是 S3Bucket 对象中的存储桶名称。据我所知,我需要为此编写一个自定义匹配器:

如果有更简单的方法来做到这一点,那就太好了,比如:

谁能指出我这样的事情?我想在这种情况下我已经解决了我的问题,但这不是我第一次希望有一个更简单的方法。

0 投票
2 回答
7920 浏览

java - 未指定 jMock 期望

我是 jMock 的新手,所以我正在尝试一个简单的例子。不过,我不知道为什么它不起作用。这是我正在测试的课程:

这是我的模拟对象测试:

我收到的错误是:

0 投票
1 回答
2797 浏览

java - JMock 允许其他方法调用

我正在使用 JMock 来测试使用对象的类的行为。我想测试该方法a()是否被调用。但是,b()并且c()也被调用在对象上。因此,如果我的期望期望a(),它也必须期望b()并且c()使测试通过。有没有办法只测试某种方法,并允许其他任何方法?

0 投票
3 回答
19966 浏览

java - JUnit 模拟,我应该使用哪个工具?

我来自 PHP 测试世界,我开始用 Java 进行测试。

我见过几种在 JUnit 中模拟 SUT 的工具,例如 Mockito、SevenMock、ClassMock 等。

我真的很感谢我应该使用哪一个的任何建议。

提前致谢!

0 投票
1 回答
3989 浏览

java - 如何使用 JMock 在模拟方法中测试模拟方法

我无法确定如何模拟一段特定的代码。

这是我的方法:

我希望能够使用 JMock 来测试是否调用了 findNotifications 并且返回了预期值以及调用了 send() 。

findNotifications 调用我的 Dao 被嘲笑。通知是一个抽象类。

我有一个这样的单元测试,但它显然不起作用。它满足了前两个期望,但仅此而已。

我怎样才能让它按我的意愿工作?

我尝试的另一种方法。它满足前两个期望,但不满足发送一个。

我对使用 Jmock 还是很陌生,所以如果看起来我对自己在做什么(我不知道)不太了解,我很抱歉。