Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/433.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
Javascript 如何在调用另一个方法之前检查是否调用了该方法_Javascript_Sinon_Ava - Fatal编程技术网

Javascript 如何在调用另一个方法之前检查是否调用了该方法

Javascript 如何在调用另一个方法之前检查是否调用了该方法,javascript,sinon,ava,Javascript,Sinon,Ava,我有一个名为mainMethod()的方法,它返回一个承诺。 此方法包含多个方法m1(),m2()…,m5()。 现在我正在使用sinon进行单元测试 我想检查是否调用了m1(),是否调用了m2() 因为我有一个数组,它在调用m1()之后不是空的,但在调用m2()之后它将是空的 我想在调用m1()之后和调用m2()之前进行检查或测试 可以使用sinon吗?是的,可以使用sinon。它在之后调用了,在之前调用了 比如说 it('some testing', function() { va

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

我想检查是否调用了
m1()
,是否调用了
m2()

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

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


可以使用sinon吗?

是的,可以使用sinon。它在之后调用了
,在
之前调用了

比如说

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

连锁承诺。请提供
mainMethod
外观的代码示例