Я просто обновил свой проект с реакции 0.53.3 до 0.57.3. После обновления мои тесты шутки больше не проходили, потому что мои пороги покрытия больше не были достигнуты. Это определенно ошибка конфигурации с моей стороны, но я просто не могу понять, что мне нужно настроить, чтобы исправить проблему. Для этой проблемы я представляю самый простой файл, который я могу выявить проблему. Проблема возникает во всем моем проекте, но я не могу поделиться этим.
Любая помощь очень ценится. Спасибо!
Зависимости, например
{
"dependencies": {
"prop-types": "15.6.2",
"react": "16.6.0-alpha.8af6728",
"react-native": "0.57.3"
},
"devDependencies": {
"babel-cli": "6.26.0",
"babel-eslint": "10.0.1",
"babel-jest": "23.6.0",
"babel-polyfill": "6.26.0",
"babel-preset-react-native": "^4.0.1",
"eslint": "5.7.0",
"jest": "23.6.0",
"jest-cli": "23.6.0",
"metro-react-native-babel-preset": "0.48.1",
"react-test-renderer": "16.6.0-alpha.8af6728"
}
}
Jest Config
{
"jest": {
"transform": {
"^.+\\.(js)$": "<rootDir>/node_modules/react-native/jest/preprocessor.js"
},
"coverageDirectory": "./coverage/jest",
"collectCoverage": true,
"collectCoverageFrom": [
"src/components/**/*.js",
"src/lib/components/**/*.js",
],
"coverageThreshold": {
"global": {
"statements": 90,
"branches": 90,
"functions": 90,
"lines": 90
}
},
"preset": "react-native"
}
}
Тестовый файл
import 'react-native';
import React from 'react';
import renderer from 'react-test-renderer';
import H1 from '../../../../src/lib/components/H1';
describe('H1', () => {
it('should render correctly', () => {
const tree = renderer.create(<H1>Title</H1>).toJSON();
expect(tree).toMatchSnapshot();
});
});
Файл проверен
import React, { Component } from 'react';
import PropTypes from 'prop-types';
import Text from '../../containers/TextContainer.js';
import { TEXT_LIGHT } from '../colors';
export default class H1 extends Component {
static propTypes = {
children: PropTypes.node.isRequired,
color: PropTypes.string,
}
static defaultProps = {
color: TEXT_LIGHT,
}
render() {
return (
<Text
color={this.props.color}
fontSizeRatio={3.4}
>
{this.props.children}
</Text>
);
}
}
Результаты покрытия для файла
- Заявления: 83,87%
- Филиалы: 60,78%
- Функции: 86,67%
- Линии: 100%
- Непокрытые строки: 24 (импорт {TEXT_LIGHT} из '../colors';)
Ожидаемое поведение
Мой охват кода, на большинстве файлов должен быть 100% во всех категориях.