问题
In my code, I trigger a callback upon "OK" click of a window.confirm
prompt, and I want to test that the callback is triggered.
In sinon
, I can stub the window.confirm
function via:
const confirmStub = sinon.stub(window, 'confirm');
confirmStub.returns(true);
Is there a way I can achieve this stubbing in Jest?
回答1:
In jest you can just overwrite them using global
.
global.confirm = () => true
As in jest every test file run in its own process you don't have to reset the settings.
回答2:
I just used Jest mock and it works for me :
it("should call my function", () => {
// use mockImplementation if you want to return a value
window.confirm = jest.fn().mockImplementation(() => true)
fireEvent.click(getByText("Supprimer"))
expect(window.confirm).toHaveBeenCalled()
}
来源:https://stackoverflow.com/questions/41732903/stubbing-window-functions-in-jest