我的项目基于 Create-react-app 设置,我用于测试单元测试的 package.json 脚本如下
"scripts": {
"test": "react-scripts test --coverage",
}
或者
"test": "react-scripts test --coverage --collectCoverageFrom=src/**/*.{js,jsx}
它在 中执行测试测试 文件夹,但不显示覆盖率报告。你能帮助解决这个问题吗?
我的文件结构如下
源文件
|
--- 测试
---components>moduleA>package1>package2>transaction.js,abcd.js...等
ProcessEvent.test.js
describe('ProcessEvent Component', () => {
const expectedProps = {
"event": {iconStatus:'active', desc:'abc'}
}
it('should render without error', () => {
const component = <ProcessEvent {...expectedProps}/>
const wrapper = component.find('.eventclass');
expect(wrapper.length).toBe(1);
});
it('should receive valid props', () => {
const component = shallow(<ProcessEvent {...expectedProps}/>);
const wrapper = component.find('.eventclass');
expect(component.props).toBeDefined();
});
});
最佳答案
使用 --watchAll=false
参数使它列出所有文件。
示例 package.json
{
...
"scripts": {
"start": "react-app-rewired start",
"build": "react-app-rewired build",
"test": "react-app-rewired test",
"coverage": "react-app-rewired test -- --coverage --watchAll=false",
"eject": "react-scripts eject",
"serve": "node server.js"
},
...
}
此外,您的覆盖率报告实际位于/coverage/lcov-report。打开位于那里的 index.html,将在浏览器中显示覆盖率报告。
关于reactjs - 未使用 --coverage 选项显示的 Jest 单元测试的覆盖率报告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58487303/