Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java JMock断言在拆卸中得到了满足?_Java_Unit Testing_Junit_Jmock - Fatal编程技术网

Java JMock断言在拆卸中得到了满足?

Java JMock断言在拆卸中得到了满足?,java,unit-testing,junit,jmock,Java,Unit Testing,Junit,Jmock,我不知道为什么,但我总是这样编写JMock测试: @Test public void testMyThing() throws Exception { mockery.checking(new Expectations() {{ oneOf(mockObj).foo(); }}); testObj.bar(); // calls mockObj.foo() mockery.assertIsSatisfied(); } 但是,当有很多测试时,将as

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

@Test
public void testMyThing() throws Exception {
    mockery.checking(new Expectations() {{
        oneOf(mockObj).foo();
    }});
    testObj.bar(); // calls mockObj.foo()
    mockery.assertIsSatisfied();
}
但是,当有很多测试时,将
assertessatifized
移动到分解位置是否更好

@After
public void tearDown() throws Exception {
    mockery.assertIsSatisfied();
}

是的,我倾向于在流泪的时候做。它通过在之后将样板文件删除到@中,将各个测试方法的重点放在实际测试的内容上,这对我来说至关重要,因为测试尽可能具有表达性和可读性


事实上,我有时会更进一步,使用
JMockSupport
基类为我处理
mockry
(以及提供
mock(…)
的方便实现)。当然,这只是一种方便,决不是像JUnit3那样的要求。

建议使用JMock runner。用

@RunWith(JMock.class)
public class TestClass {
这将在测试生命周期的正确位置调用断言。拆卸不是正确的位置,因为故障可能无法正确报告,并且可能会干扰其他清理


<>我们在库中也有一个嘲弄规则,它使用新的@规则基础结构。

请考虑使用转轮或新规则实现。如果使用@After,则不会在测试生命周期的正确时间引发异常。