У меня есть файл, который импортирует другой.Я хочу смоделировать другой импорт по-разному в каждом тесте, но при этом он должен показываться в файле, который его импортирует.
Я пробовал различные способы имитации и импорта через поиск в Google, но ни один из них не работал.
Рассмотримфайлы:
settings.js
export default { mySetting: null };
store.js
import settings from "./settings";
export default {
settings: { ...settings },
};
settingsDemo.js
import store from "./store";
it("default settings", () => {
expect(store.settings.mySetting).toBe(null);
});
it("mocked to true", () => {
expect(store.settings.mySetting).toBe(true);
});
it("mocked to false", () => {
expect(store.settings.mySetting).toBe(false);
});
как мне смоделировать эти файлы в settingsDemo.js
, чтобы все 3 теста прошли без редактирования settings.js
или store.js
?
Примечание: это похожена мой предыдущий вопрос , но решение для импорта зависимости и изменения значения в этом случае не работает, поскольку store
не ссылается на объект settings
здесь, а вместо этого клонирует его для начальногозначение.