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

java - JMock 意外调用

下面我只是试图模拟一个名为 TestWrapper 的类并对其设置“允许”期望。但是,在设定期望时我会出错。当使用 easymock 并只是设置期望时,这似乎不会发生

TestWrapper.class

断言错误..

0 投票
1 回答
890 浏览

java - 用于 Object... 参数的 Hamcrest 匹配器

我得到了上课的方法

我有一个自定义的 Hamcrest 匹配器

如何编写与传递给方法1的对象匹配的期望

实际调用是

传递的对象和预期的一样,但是SomeObjectMatcher失败了,因为实际传递的参数不是someObject1,而是SomeObject[]{someObject1}(只有一个对象的数组-someObject1)?有没有办法在链中添加一个新的匹配器,比如

0 投票
3 回答
9360 浏览

java - 如何使用 JUnit 和 JMock 测试抽象类的受保护方法

我有这种情况 - 我有接口(比如说MyInterface)和简单的部分实现(AbstractMyInterface)。后者添加了一些我想测试的受保护方法。

目前我只是手工编写一个模拟对象,它将AbstractMyInterface受保护的方法扩展和导出为公共的。有没有更简单的方法 - 例如使用 JMock+脚本?

0 投票
1 回答
93 浏览

jmock - 我可以用自定义代码扩展一个 jmock 对象吗

我有一个在单元测试中使用的~10 个方法的回调接口。我需要测试在测试期间设置的 XML 字符串的值。

我已经致力于 jmock 其他测试用例。

似乎首选的“jmock 方式”是编写自定义org.hamcrest.Matcher对象来测试返回字符串的值。

然而,这听起来很难。有没有更简单的方法?

  • 有没有一种简单的方法可以让 jmock 匹配器将 String 值传递到封闭的 String[] 中?然后我可以检查 jmock 子句之外的字符串
  • 有没有一种简单的方法来扩展模拟对象,所以我实现了自己的方法。我希望有类似的东西

我当然可以定义自己的存根对象,但我很懒...

0 投票
1 回答
113 浏览

java - Where can I find JMock Blitzer?

I see it described at http://www.jmock.org/threading-blitzer.html but I don't see it in the 2.5.1 jar files.

0 投票
1 回答
2373 浏览

junit - JMock 触发 AssertionError: 预期调用一次,从未调用 - 但它已被调用

我对使用 java 编程很陌生,但我尝试直接从单元测试开始,因此也使用了 JMock。我已经实现了一些有效的测试用例(使用 JMock),但是这个我无法运行。

我做了什么:我编写了一个创建模拟对象的测试类,然后我期望一个(使用 oneOf)调用。运行单元测试后,它说它失败(但日志另有说明,因为我打印出我在调用时返回的数据,使用will(returnValue(x)).

下一个有趣/奇怪的事情是 - 如果我将 oneOf 更改为“从不”单元测试成功,但它会引发异常:

期望:从不期望,从不调用:blockingQueue.take(); 返回之前发生的事情:什么都没有!

这里的代码:

和我正在测试的可运行文件:

0 投票
2 回答
6829 浏览

unit-testing - 子类中的模拟/测试超级类调用..可能吗?

我正在寻找一种解决方案来模拟子类 ButtonClicker 中的超级调用。

0 投票
1 回答
492 浏览

jmock - 验证 jmock 中的复杂对象

我编写了一个自定义 jmock 操作,它只存储了一个复杂的 bean,然后我使用传统的 JUnit 断言来验证它。

JMock 期望中是否有一种直接的方法来断言从传递给模拟接口函数的对象上调用的几个 getter 返回的值?

0 投票
3 回答
7892 浏览

java - 字符串的 Hamcrest 匹配器,其中字符串包含一些随机值

有没有办法将以下字符串与任何 hamcrest 匹配器匹配。

这个字符串被传递给一个方法。我使用 JMock 期望来匹配它。

问题:“72e3a446-2fed-4bda-ac35-34e95ab3dc32”部分是随机生成的UUID,是在被测方法内部生成的。是否有一个 Hamcrest 字符串匹配器可以匹配类似的东西

它必须匹配预期的字符串以"{\"messageType\":\"identify\",\"_id\":\"之后有任何字符串开始,并以",\"address\":\"192.168.0.0\",\"port\":7070}"

编辑:解决方案

0 投票
2 回答
397 浏览

java - 如何确定 JMock 模拟对象正在模拟哪个类?

假设我有一个这样的模拟设置:

后来我想检查我的模拟对象以找出它正在模拟的类:

我在 JMock (2.5.1) javadocs 中没有看到任何关于如何执行此操作的明显内容 - 该mock方法的签名是

在以前的版本中(我查看了 1.2.0),您将Mock直接创建一个对象,其方法之一是

我想要实现的是一个单元测试框架,用于在我的单元测试中使用 DI。(我使用的是 Guice 3.0。)在测试中使用 DI 是对我正在使用的应用程序服务器/平台的限制——我正在测试的对象是具有自己的 multiton 的子类Injector,这就是我的我试图填充。

我不想在每次测试中都创建一个匿名的 AbstractModule 实例,所以我正在尝试构建这样的东西(这似乎在 1.2 中可以工作):

唯一缺少的是这个问题的答案(如果有的话)。

对已接受答案的回应

这是我最终为此用例创建的内容: