小编Nic*_*nek的帖子

由于React-router组件,Mocha-Chai抛出"导航器未定义"

我正在为使用react-router的React组件编写测试.我正在使用Mocha和Chai以及Chai-jQuery.

我的测试工作正常,直到我将一个组件从react-router导入一个组件(例如Link).此时,我收到以下错误:

ReferenceError: navigator is not defined
    at Object.supportsHistory (/Users/nico/google-drive/code/agathos/client/node_modules/history/lib/DOMUtils.js:61:12)
Run Code Online (Sandbox Code Playgroud)

我曾经在react-bootstrap上遇到类似的错误,直到我更新到react-bootstrap v0.29.3.我有最新版本的react-router v2.4.0(和历史v2.1.1).但问题仍然存在.

我发现的唯一解决方案是改变node_modules/history/lib/DOMUtils: navigator进入window.navigator.这是一个黑客,而不是一个好的解决方案.

我认为问题出在react-router上,但我没有解决方案.

以防万一,这是我的test-helper.js.

import jquery from 'jquery';
import React from 'react';
import ReactDOM from 'react-dom';
import TestUtils from 'react-addons-test-utils';
import jsdom from 'jsdom';
import chai, { expect } from 'chai';
import chaiJquery from 'chai-jquery';
import { Provider } from 'react-redux';
import { createStore } from 'redux';
import reducers from './reducers';

// set up a testing environment to run like …
Run Code Online (Sandbox Code Playgroud)

mocha.js chai react-router

9
推荐指数
1
解决办法
5686
查看次数

标签 统计

chai ×1

mocha.js ×1

react-router ×1