如何检查某个方法是否在另一个方法被调用之前被调用

时间:2018-07-06 09:51:37

标签: javascript sinon ava

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

我想检查是否m1()被调用而{strong>不被调用。{p>

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

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

是否可以使用m2()

1 个答案:

答案 0 :(得分:0)

是的,可以使用Sinon。它具有calledAftercalledBefore

enter image description here

例如

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));
});