Sto provando a verificare un comportamento dei componenti di reazione utilizzando Enzyme describeWithDOM()
e mount()
. Ma quando le importazioni di componenti jQuery ottengo questo errore:Genera un errore se il componente React richiede jQuery
Errore: jQuery richiede una finestra con un documento
So Enzyme utilizza jsdom sotto il cofano, e ho jsdom sempre pensato si prese cura della finestra e del documento . Ma non riesco a trovare come far funzionare questi lavori insieme.
il codice di prova si presenta così:
import chai, {expect} from 'chai';
import Select from './Select';
import React, {createElement} from 'react';
import {describeWithDOM, mount} from 'enzyme';
describe('UI Select',() => {
//more shallow tests here
describeWithDOM('User Actions',() => {
it('Toggles the .ui-options menu on button click',() => {
const wrapper = mount(<Select {...baseProps} />);
expect(wrapper.state().open).to.not.be.ok;
wrapper.find('button').simulate('click');
expect(wrapper.state().open).to.be.ok;
});
});
}
Nei pulsanti metodo onClick una funzione jQuery si chiama: $('#inputSelector').focus()
Come posso lasciare Enzyme e l'uso jsdom jquery nelle prove?
Did hai risolto il problema? – pluralism
@ pluralismo si è fatto. Risposta di Trevors accettata. – Barry127