2016-07-28 19 views
0

Für meine Tests, Bin mocha verwenden, enzyme, sinon für Stubing und chai für Behauptungen, mockery für Module spöttisch.Mocking Navigator in RN für Unit-Tests

Jetzt ist der bestmögliche Mechanismus, um Navigator für Geolocation zu verhöhnen. Ich versuchte rewire von https://github.com/jhnns/rewire, meinen sinon stubed Navigator zu injizieren. Das wird für mich funktionieren, fühlt sich aber nur mühsam an, den Stub einzurichten. Ich mag https://github.com/2gis/mock-geolocation, da es sich auf natürlichere Art und Weise verspottet. Aber leider kann ich es nicht verwenden, weil es window Variable verwendet.

Ich versuchte mocha-jsdom wie

import jsdom from 'mocha-jsdom'; 
jsdom(); 
const geolocate = require('mock-geolocation'); 

Aber ich einen Fehler wie

/..../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) 

wie diese mocha --require react-native-mock/mock --compilers js:babel-register --recursive

Antwort

0

Statt mocha-jsdom Ich betreibe meine Tests bekommen zu verwenden, ich this.jsdom = require('jsdom-global')() verwendet, die schien es zu reparieren.