首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JMock assertIsSatisfied in TearDown?

JMock assertIsSatisfied in TearDown?
EN

Stack Overflow用户
提问于 2011-07-08 20:54:24
回答 2查看 1.4K关注 0票数 6

我不知道为什么,但我总是这样写我的JMock测试:

代码语言:javascript
复制
@Test
public void testMyThing() throws Exception {
    mockery.checking(new Expectations() {{
        oneOf(mockObj).foo();
    }});
    testObj.bar(); // calls mockObj.foo()
    mockery.assertIsSatisfied();
}

但是,当有许多测试时,将assertIsSatisfied转移到拆卸是更好的做法吗?

代码语言:javascript
复制
@After
public void tearDown() throws Exception {
    mockery.assertIsSatisfied();
}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-08-24 06:47:13

推荐的方法是使用JMock运行器。用注解这个类

代码语言:javascript
复制
@RunWith(JMock.class)
public class TestClass {

这将在测试生命周期中的正确位置调用断言。Teardown不是正确的位置,因为失败可能不会被正确报告,并可能会扰乱其他清理。

我们在存储库中也有一个mockery规则,它与新的@Rule基础设施一起工作。

票数 5
EN

Stack Overflow用户

发布于 2011-07-08 20:58:47

是的,我倾向于在拆卸的时候做。它通过删除@After中的样板,将各个测试方法的重点放在它们实际测试的内容上-对我来说,测试尽可能具有表现力和可读性是至关重要的。

实际上,我有时会更进一步,使用一个为我处理MockeryJMockSupport基类(以及提供方便的mock(...)实现)。当然,这只是一种便利,并不像在JUnit 3中那样的要求。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6624709

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档