2017-02-07 5 views
2

Ich versuche, eine Komponente reagieren zu testen, und ich scheine ein JSDOM Problem zu schlagen.Jest/Enzym/JSDOM document.body.createTextRange ist keine Funktion

Wenn ich meine Komponente mounte;

const component = mount(
    <PipelineActions pipelineActions={value} {...actions} /> 
); 

Ich bekomme einen Fehler geworfen;

document.body.createTextRange ist keine Funktion

I über das DOM direkt versucht einzustellen;

(global as any).document = jsdom.jsdom(''); 
(global as any).window = document.defaultView; 

, die keine Wirkung hatte. Wenn ich versuche, console.log(document.body) zu bekommen, bekomme ich etwas merkwürdiges;

Htmlbodyelement {}

Es scheint, wie der DOM ist nicht richtig gebaut zu werden, aber ich bin mir nicht sicher, warum. Hat das jemand schon mal gesehen?

+0

Das Update ist hier https://stackoverflow.com/questions/21572682/createtextrange-is-not-working-in-chrome/46424247 # 46424247 – danday74

Antwort

0

Sie können einstellen, und Mock Sachen auf dem global Objekt:

global.body.createTextRange = jest.fn()