ฉันสงสัยว่ามีวิธีที่ดีกว่าในการปิดใช้งานข้อผิดพลาดของคอนโซล ภายในการทดสอบ Jest เฉพาะหรือไม่ (เช่นคืนค่าคอนโซลเดิมก่อน / หลังการทดสอบแต่ละครั้ง)
นี่คือแนวทางปัจจุบันของฉัน:
describe("Some description", () => {
let consoleSpy;
beforeEach(() => {
if (typeof consoleSpy === "function") {
consoleSpy.mockRestore();
}
});
test("Some test that should not output errors to jest console", () => {
expect.assertions(2);
consoleSpy = jest.spyOn(console, "error").mockImplementation();
// some function that uses console error
expect(someFunction).toBe("X");
expect(consoleSpy).toHaveBeenCalled();
});
test("Test that has console available", () => {
// shows up during jest watch test, just as intended
console.error("test");
});
});
มีวิธีที่สะอาดกว่าในการทำสิ่งเดียวกันนี้ให้สำเร็จหรือไม่? ฉันต้องการหลีกเลี่ยงspyOn
แต่mockRestore
ดูเหมือนจะใช้ได้กับมันเท่านั้น
ขอบคุณ!
setupTestFrameworkScriptFile
setupFilesAfterEnv