Kee*_*Kee 5 testing asynchronous callback reactjs jest
当使用Jest测试利用回调的异步代码时,可以放入一个done参数,然后在测试内部调用该参数。这使测试知道在完成测试之前要等到done()函数被调用。例如,在运行包含done()函数的回调之前,该代码将不会完成。
test('the data is peanut butter', done => {
function callback(data) {
expect(data).toBe('peanut butter');
done();
}
fetchData(callback);
});
Run Code Online (Sandbox Code Playgroud)
我的问题是,Jest实际上如何知道何时需要等待该done()调用?由于它存在的唯一其他地方是测试运行的函数的参数,Jest是否可以检查该函数中的参数?如果是这样,它是如何做到的?
函数具有一个.length
属性,该属性返回为其声明的参数数量:
function test0() {}
function test1(arg0) {}
function test2(arg0, arg1) {}
console.log( test0.length ); // 0
console.log( test1.length ); // 1
console.log( test2.length ); // 2
Run Code Online (Sandbox Code Playgroud)
这就是Jest知道测试处理程序需要done
回调的方式,并且它将假定测试是异步的。
归档时间: |
|
查看次数: |
226 次 |
最近记录: |