使用最简单的ReactJS组件,Jest不报告完整的测试覆盖率.如何获取语句和分支显示100%.
目前Jest表示90.48% statements, 58.06% branch.运行jest --coverage.
MyThing.js
import React from 'react';
export default class MyThing extends React.Component {
render() {
return (
<div>
Stuff
</div>
);
}
}
Run Code Online (Sandbox Code Playgroud)
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");
});
});
Run Code Online (Sandbox Code Playgroud)
这很可能是由于 babel 的转译代码所致。请参阅问题 #817,该问题已得到解决并且最近刚刚得到解决。
这个问题应该通过升级到 来解决jest@15。
尽管有些人提到需要向其添加源映射,.babelrc例如:
{
"env": {
"test": {
"sourceMaps": "both"
}
}
}
Run Code Online (Sandbox Code Playgroud)
并明确更新他们的笑话"coverageCollector": "jest-babel-istanbul"
| 归档时间: |
|
| 查看次数: |
2887 次 |
| 最近记录: |