从
"Exploring ES6"
:
请注意,虽然不能更改导入的值,但可以更改它们所引用的对象
换句话说,不可能分配
settings
但可以更改上的属性
而这些变化将自动被看到,无论它是进口。
考虑到这一点,这里有一个有效的测试:
import store from "./store";
import settings from './settings'; // import settings
it("default settings", () => {
expect(store.settings.mySetting).toBe(null); // SUCCESS
});
it("mocked to true", () => {
settings.mySetting = true; // change the mySetting property
expect(store.settings.mySetting).toBe(true); // SUCCESS
});
it("mocked to false", () => {
settings.mySetting = false; // change the mySetting property
expect(store.settings.mySetting).toBe(false); // SUCCESS
});