Con il componente ReactJS più semplice, Jest non segnala la copertura completa del test. Come ottenere dichiarazioni e branch per mostrare il 100%.Come ottenere la copertura completa del test con Jest e ReactJS, attualmente al 90,48% di dichiarazioni, 58,06% diramazione
Attualmente Jest mostra 90.48% statements, 58.06% branch
. Esegui con jest --coverage
.
MyThing.js
import React from 'react';
export default class MyThing extends React.Component {
render() {
return (
<div>
Stuff
</div>
);
}
}
MyThing-test.js
// __tests__/MyThing-test.js
jest.unmock('../app/views/static/MyThing');
import React from 'react';
import ReactDOM from 'react-dom';
import TestUtils from 'react-addons-test-utils';
import MyThing from '../app/views/static/MyThing';
describe('MyThing',() => {
const instance = TestUtils.renderIntoDocument(
<MyThing />
);
it('gets rendered',() => {
expect(TestUtils.isCompositeComponent(instance)).toBeTruthy();
});
it('is not DOM component',() => {
// checks if is a standard DOM element, i.e. <div>
expect(TestUtils.isDOMComponent(instance)).not.toEqual(true);
});
it('isElementOfType is React element',() => {
expect(TestUtils.isElementOfType(<MyThing />, MyThing)).toEqual(true);
});
it('render()',() => {
const retVal = instance.render();
expect(retVal.type).toEqual("div");
});
});
Boh, forse non ogni pezzo di meriti codice 100% di copertura –
@RobertMoskal Penso che tu abbia bisogno di leggere il mio esempio di codice in modo un po 'più dettagliato. Non c'è niente nella mia classe che non dovrebbe essere coperto al 100% dai miei test di Jest. Posso solo immaginare che sia un bug con Jest, o Jest sta anche guardando il codice che non viene eseguito nella super-classe in 'React.Component'. –
expect (retVal.props.children.length) .toEqual (1); – vijayst