簡體   English   中英

對 JMockit 上所有實例的期望

[英]expectations on all instances on JMockit

我期待 JMockit 對所有實例設定期望。 但是,當我將構造函數期望添加到組合中時,這不起作用。

class Foo {
    Foo(int i) {}
    void foo() {}
}

@Test
public void expectationsOnAllInstances__Works(@Mocked Foo foo) {
    new Expectations() {{
        foo.foo();
    }};
    new Foo(3).foo();
}

@Test
public void expectationsOnAllInstances__DoesntWork(@Mocked Foo foo) {
    new Expectations() {{
        new Foo(3);  // <==== this constructor expectation messes things up ...
        foo.foo();
    }};
    new Foo(3).foo();
}

第二次測試失敗並出現錯誤:

Missing 1 invocation to:
Foo#foo()
   on mock instance: Foo@617faa95
instead got:
Foo#foo()
   on mock instance: Foo@1e127982

JMockit 1.48

謝謝!

好吧, expectationsOnAllInstances__DoesntWork測試在記錄和重放的期望之間是不一致的......

您真正想要的是其他兩個版本之一:

    @Test
    public void expectationsOnAllInstances_consistent1(@Mocked Foo foo) {
        new Expectations() {{
            new Foo(3).foo();
        }};

        new Foo(3).foo();
    }

    @Test
    public void expectationsOnAllInstances_consistent2(@Mocked Foo foo) {
        new Expectations() {{
            new Foo(3);
            foo.foo();
        }};

        new Foo(3);
        foo.foo();
    }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM