Z najprostszym komponentem ReactJS Jest to, że nie raportuje pełnego zasięgu testu. Jak uzyskać wyciągi i odręby, aby pokazać 100%.Jak uzyskać pełny test pokrycia z Jest i ReactJS, obecnie na poziomie 90,48% wyciągów, 58,06% oddziału
Aktualnie wyświetla się 90.48% statements, 58.06% branch
. Uruchom z 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");
});
});
wiem, może nie każdy kawałek kodu meritum 100% pokrycia –
@RobertMoskal Myślę, że musisz przeczytać mój przykład kodu w nieco więcej szczegółów. W mojej klasie nie ma niczego, co nie powinno być w 100% pokryte przez moje testy Jest. Mogę się tylko domyślać, że jest to błąd z Jest, lub Jest także szuka kodu, który nie jest wykonywany w super klasie w 'React.Component'. –
oczekiwać (retVal.props.children.length) .toEqual (1); – vijayst