1

是否可以为模拟对象赋值。前任:

myMockObject = context.mock(MyObject.class);

myMockObject.setId("someId");

我正在测试的方法已经结束,但最后有验证该对象的方法,因此没有 id 的对象被认为是无效的。我还能做些什么吗?

我可以以某种方式指定我期待这个异常但无论如何通过测试吗?

我找到了这个链接,但我无法找到解决方案:

http://www.jmock.org/yoga.html

我期待记录器用消息字符串抛出一个验证异常,以前有没有人有过这方面的经验?

我试过这个:

context.checking(new Expectations() {
            {

allowing(logger).error(with(exceptionMessage));

    }
        });

注意exceptionMessage 消息是由验证方法抛出的,该方法在我正在测试的方法结束时验证对象。

4

2 回答 2

2

这是我正在寻找的答案:

http://www.jmock.org/throwing.html

于 2010-10-01T12:12:39.253 回答
1

您需要添加一个 Expectation 导致 mock 方法返回您期望的值:

allowing (myMockObject).getId(); will(returnValue("someId"));

这将导致 getId 返回您期望的值,并且由于它使用允许的调用计数,因此如果不调用它不会导致测试失败。

于 2010-09-29T13:54:30.763 回答