Saya sedang menguji fungsi yang memanggil fungsi lain yang diimpor dari anotherFile
. outsideFunc
itu mengembalikan objek yang berisi 'nama'. Saya memerlukan ini agar dapat melanjutkan sisa pengujian saya/fungsi agar berfungsi dengan benar.
systemUnderTest.js
import { outsideFunc } from './anotherFile.js';
function myFunc() {
const name = outsideFunc().name;
}
File.js lain:
export function outsideFunc() {
return { name : bob }
}
Saya tidak peduli dengan pengujian anotherFile
atau hasil outsideFunc
, tetapi saya masih perlu mengembalikan nilai tiruan sebagai bagian dari pengujian myFunc
;
systemUnderTest.spec.js
describe("A situation", () => {
jest.mock("./anotherFile", () => ({
outsideFunc: jest.fn().mockReturnValue({
name: 'alice'
})
}));
it("Should continue through the function steps with no problems", () => {
expect(excludeCurrentProduct(initialState)).toBe('whatever Im testing');
});
});
Masalah yang saya dapatkan adalah, ketika pengujian unit berfungsi melalui myFunc
, const name
mengembalikan undefined
di mana ia seharusnya mengembalikan alice
. Saya berharap ia mendapatkan data dari jest.mock
file anotherFile
saya dan fungsi tiruannya yang diekspor, tetapi tidak mendapatkan respons yang tepat.
Ketika saya aset yang saya harapkan name = alice
sebenarnya saya mendapatkan name = undefined
.