希望验证我的笑话反应测试中用户单击时window.location是否已更新。 但是window.location似乎无法捕获更改。
以下是我当前的设置:-
jest-environment.js-自定义环境文件
PRIMARY KEY
jest-config.js
const JSDOMEnvironment = require('jest-environment-jsdom');
module.exports = class JSDOMEnvironmentGlobal extends JSDOMEnvironment {
constructor(config) {
super(config);
this.global.jsdom = this.dom;
}
teardown() {
this.global.jsdom = null;
return super.teardown();
}
runScript(script) {
return super.runScript(script);
}
};
我的笑话测试:
"testEnvironment": "./jest-environment",
结果:
(window.location.pathname始终为describe('verifying links', () => {
const { getByText } = render(WithTestRouter(<Component />));
const Elemen1Link = getByText('Elemen1');
global.jsdom.reconfigure({
url: 'https://www.google.com/',
});
fireEvent.click(Elemen1Link);
expect(window.location.pathname).toEqual('/element1');
});
。
注意:打字稿抱怨/
我还必须在jest-environment.js文件中的全局变量中添加位置吗?