繁体   English   中英

对JMockit上所有实例的期望

expectations on all instances on JMockit

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

我期望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

谢谢!

1 个回复

好吧,期望记录和重放的期望之间的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();
    }
1 断言JMockit期望结果与构造的实例相同

这是现实生活中被精减的方法...真正的方法还可以做其他事情,但是我将一些奇怪的行为缩小为仅几行。 考虑一种尝试从java.util.Date ...创建java.sql.Timestamp的方法(不要介意我在此方法中做错了什么;这不是重点): 因此,我为此方法编写了以下JMockit ...

2 jmockit期望NPE

我有这段代码: 不幸的是,我总是得到一个空值mFubar.getModel() 。 我如何为getModel()创建一个模拟值,以便mFubar.getModel().getAllDogs(); 工作正常吗? ...

3 超越JMockit的期望

我想覆盖JMockit中先前定义的期望。 这就是我尝试过的方法(请参见下面的代码)-我有一个私有类,其中记录了所有常见的期望,并在各种测试方法中进行了重放。 但是,我的方法之一需要大多数共同的期望,但很少。 首先,我调用CommonNonStrictExpectations私有类,然后在我 ...

4 JMockit的连续期望

我最近遇到了下面说明的问题,但找不到相应的解释。 我正在测试的代码看起来还可以,但是测试失败。 我花了一段时间才了解出了什么问题,尤其是因为我的测试代码并不像下面的代码那么简单。 我正在与大家共享它,希望找到一些解释,并得出结论,它是JMockit错误还是所需的行为,因此在实施我们的测 ...

5 Lambda对Jmockit的期望

我有一个I / F public interface NumberIF { public Integer getNumber(); } 当我尝试调用以下函数时; public void func(NumberIF data) 我对lambda使用以下方式 func(( ...

7 每次从 jMockit 期望返回不同的值

我有一个单元测试,我正在模拟java.net.URI类。 此外,我正在创建一个 jMockit NonStrictExpectation ,我希望在其中调用URI.getPath()并返回一个特定的字符串。 被测试的代码调用了URI.getPath()两次,每次我都需要发送一个不同的字符串。 这 ...

8 JMockit-严格期望被忽略

我想测试私有方法的行为。 方法“ moveDataToArchive”执行4个步骤。 是4倍:计算日期+调用子方法。 这是我的测试: 有什么问题? 请参阅第三个预期日期。 这是错误的! (999而不是140)。 我还更改了通话顺序。 我什至公开了那些私有方法并进行 ...

9 JMockit对双数组参数的期望

匹配双打是一件棘手的事情。 根据经验,我们学会了使用EPSILON来实现小的双重差异。 JMockit如何处理双重匹配? 例如,当我有以下代码时: 我可以确定JMockit将匹配这些调用吗? ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2022 STACKOOM.COM