在 Jest 测试中重置 ajax 模拟调用计数
Resetting ajax mock calls count in Jest tests
我有下面表示的测试结构,我的代码使用 ajax 调用所以我正在模拟 Jest tutorial:
describe('it behavior', function() {
it('is as it is', function() {
jQuery.ajax.mock.calls[0][0].success({
data: []
});
...
});
it('is is not as it was', function() {
jQuery.ajax.mock.calls[1][0].success({
data: [1, 2, 3]
});
...
});
});
最让我困扰的是这个 jQuery.ajax.mock.calls[X][0]
在每种情况下,主要是因为我打错了字或忘记在模拟中增加电话号码。
在这种情况下,是否可以在 afterEach
回调或测试组织的某种模式中重置模拟调用计数?最好没有任何额外的测试依赖。
试试这个:
describe('something', function() {
beforeEach(function() {
jQuery.ajax = jest.genMockFunction()
})
it('does something', function() {
// do something
})
}
我有下面表示的测试结构,我的代码使用 ajax 调用所以我正在模拟 Jest tutorial:
describe('it behavior', function() {
it('is as it is', function() {
jQuery.ajax.mock.calls[0][0].success({
data: []
});
...
});
it('is is not as it was', function() {
jQuery.ajax.mock.calls[1][0].success({
data: [1, 2, 3]
});
...
});
});
最让我困扰的是这个 jQuery.ajax.mock.calls[X][0]
在每种情况下,主要是因为我打错了字或忘记在模拟中增加电话号码。
在这种情况下,是否可以在 afterEach
回调或测试组织的某种模式中重置模拟调用计数?最好没有任何额外的测试依赖。
试试这个:
describe('something', function() {
beforeEach(function() {
jQuery.ajax = jest.genMockFunction()
})
it('does something', function() {
// do something
})
}