0
我們在使用Jest進行單元測試時遇到了令人困擾的錯誤。Jest無法窺探對象
問題:玩笑不進入內對象的方法
的情況下:有一個lol
對象與和b()
方法,如果我們直接調用B法,玩笑失敗,如果我們把它稱爲lol.b()
它的工作原理
有人已經遇到過這個問題嗎?有更好的解決方法嗎?
的代碼:
describe('Jest bug',() => {
it('Jest fail',() => {
const lol = (() => {
const a =() => {
console.log("console a");
b();
};
const b =() => {
console.log("console b");
};
return {
a,
b
};
})();
const spy = jest.spyOn(lol, 'b');
lol.a();
expect(spy).toHaveBeenCalled()
});
it('Jest success',() => {
const lol = (() => {
const a =() => {
console.log("console OK a");
lol.b();
};
const b =() => {
console.log("console OK b");
};
return {
a,
b
};
})();
const spy = jest.spyOn(lol, 'b');
lol.a();
expect(spy).toHaveBeenCalled()
});
});