【问题标题】:How to check if a method is called before another one got called如何在调用另一个方法之前检查一个方法是否被调用
【发布时间】:2018-07-06 09:51:37
【问题描述】:

我有一个名为mainMethod() 的方法,它返回一个承诺。 该方法包含几个方法m1()m2()...、m5()。 现在我正在使用sinon 进行单元测试,

我想检查m1() 是否被调用,m2() 是否没有被调用。

因为我有一个数组,在调用m1() 之后不为空,但在调用m2() 之后它将为空

我想在调用m1() 之后和调用m2() 之前进行检查或测试。

可以使用sinon吗?

【问题讨论】:

  • 链接承诺。
  • 请提供mainMethod的代码示例

标签: javascript sinon ava


【解决方案1】:

是的,可以使用诗乃。它有calledAftercalledBefore

http://sinonjs.org/releases/v6.1.3/spies/

例如

it('some testing', function() {
    var m1 = { method: function () {} };
    var m2 = { method: function () {} };

    var spyM1 = sinon.spy(m1, "method");
    var spyM2 = sinon.spy(m2, "method");

    m1.method(42);
    m2.method(1);

    assert(spyM1.calledBefore(spyM2));
    assert(spyM2.calledAfter(spyM1));
});

【讨论】:

    猜你喜欢
    • 2013-08-02
    • 2016-11-16
    • 2012-08-21
    • 2020-08-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多