jest/no-done-callback 樣式
作用
此規則會檢查 hook 和測試的函式參數是否使用 done 引數,並建議您改為回傳 Promise。
為什麼這不好?
在 hook 和測試中呼叫非同步程式碼時,jest 需要知道非同步工作何時完成才能繼續目前的執行。最初,實現這一點最常見的模式是使用回呼。
javascript
test("the data is peanut butter", (done) => {
function callback(data) {
try {
expect(data).toBe("peanut butter");
done();
} catch (error) {
done(error);
}
}
fetchData(callback);
});
然而,這可能會非常容易出錯,因為它需要仔細理解測試中斷言的工作方式,否則測試將無法按預期運行。
範例
javascript
beforeEach((done) => {
// ...
});
test("myFunction()", (done) => {
// ...
});
test("myFunction()", function (done) {
// ...
});