我遇到过这个问题在玩笑测试用例中需要 systemjs 时抛出无效 URL https://github.com/systemjs/systemjs/issues/840
最后的评论之一建议
“通过在 jsdom 中设置引荐来源网址配置来操纵 jsdom 实例以获得有效的位置/baseURI。”
我想知道我有办法做到这一点吗?我可以访问jsdom
实例以某种方式来自jest
object?
在使用需要 url (location.href) 的项目时,我遇到了类似的问题。您可以在配置中使用 testURL 配置 jest。
以下是您可以在 package.json 中放入的内容(如果这就是您配置 jest 的方式)。
"jest": {
...other config,
"testURL": "http://localhost:8080/Dashboard/index.html"
}
测试URL文档 http://facebook.github.io/jest/docs/configuration.html#testurl-string
如果您需要对 jsdom 进行更具体的更改,您可以自己安装 jsdom 并与 jest 分开导入和配置它。这是一个例子:
test.js
'use strict';
import setup from './setup';
import React from 'react';
import { mount } from 'enzyme';
import Reportlet from '../components/Reportlet.jsx';
it('Reportlet Renders', () => {
...some test stuff
});
setup.js
import jsdom from 'jsdom';
const DEFAULT_HTML = '<html><body></body></html>';
// Define some variables to make it look like we're a browser
// First, use JSDOM's fake DOM as the document
global.document = jsdom.jsdom(DEFAULT_HTML);
// Set up a mock window
global.window = document.defaultView;
global.window.location = "https://www.bobsaget.com/"
// ...Do extra loading of things like localStorage that are not supported by jsdom
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)