对于我的测试,我使用mocha
,enzyme
,sinon
用于存根,chai
用于断言,mockery
用于模拟模块。
现在为模拟导航器进行地理定位的最佳机制是什么。我从rewire
尝试https://github.com/jhnns/rewire
注入我的sinon stubed navigator。这对我有用,但设置存根感觉很麻烦。
我喜欢https://github.com/2gis/mock-geolocation因为感觉更自然的嘲弄方式。但遗憾的是我无法使用它,因为它使用window
变量。
我尝试使用mocha-jsdom
之类的
import jsdom from 'mocha-jsdom';
jsdom();
const geolocate = require('mock-geolocation');
但是我收到了像
这样的错误/..../node_modules/mock-geolocation/src/geolocate.js:225
})(window, navigator);
^
ReferenceError: window is not defined
at Object.<anonymous> (/like
/..../node_modules/mock-geolocation/src/geolocate.js:225:4)
at Module._compile (module.js:409:26)
我按照mocha --require react-native-mock/mock --compilers js:babel-register --recursive
答案 0 :(得分:0)
我使用mocha-jsdom
而不是this.jsdom = require('jsdom-global')()
而不是countdict = dict()
for k in inputlist:
if k not in countdict.keys():
countdict[k] = inputlist.count(k)
这似乎解决了这个问题。