NodeJS 全局、JSdom、单元测试
NodeJS Global, JSdom, Unit test
希望这是一个简单的问题:
当我用 jsdom 创建一个 dom 时:
const dom = (html = '<!doctype html><body></body></html>') => {
const domObject = new JSDOM(html);
const { window } = domObject;
const { document } = (domObject).window;
global.window = window;
global.document = document;
global.navigator = {
userAgent: 'JSDOM',
language: 'en'
};
}
module.exports = dom;
然后在这样的测试中使用它:
import test from 'tape';
import dom from 'dom';
// To create global dom
dom();
然而,当我进行测试时,我有文档,window 和导航器在测试中未定义。
这真的很奇怪,我错过了什么吗?还是我在假设它的行为。我应该以不同的方式处理这个问题吗?如果有怎么办?
谢谢!
这就是它的完成方式!
http://airbnb.io/enzyme/docs/guides/jsdom.html
为那些好奇的人工作得很好。
希望这是一个简单的问题:
当我用 jsdom 创建一个 dom 时:
const dom = (html = '<!doctype html><body></body></html>') => {
const domObject = new JSDOM(html);
const { window } = domObject;
const { document } = (domObject).window;
global.window = window;
global.document = document;
global.navigator = {
userAgent: 'JSDOM',
language: 'en'
};
}
module.exports = dom;
然后在这样的测试中使用它:
import test from 'tape';
import dom from 'dom';
// To create global dom
dom();
然而,当我进行测试时,我有文档,window 和导航器在测试中未定义。 这真的很奇怪,我错过了什么吗?还是我在假设它的行为。我应该以不同的方式处理这个问题吗?如果有怎么办?
谢谢!
这就是它的完成方式!
http://airbnb.io/enzyme/docs/guides/jsdom.html
为那些好奇的人工作得很好。