Reactjs Jest如何使用全局变量覆盖所有分支
我在和React Native开玩笑,无意中发现了一个问题 App.js组件中的一小段代码会导致50:50的分支覆盖率:Reactjs Jest如何使用全局变量覆盖所有分支,reactjs,react-native,jasmine,jestjs,Reactjs,React Native,Jasmine,Jestjs,我在和React Native开玩笑,无意中发现了一个问题 App.js组件中的一小段代码会导致50:50的分支覆盖率: const storeMiddleware = __DEV__ ? applyMiddleware( thunkMiddleware, loggerMiddleware ) : applyMiddleware( thunkMiddleware ); 测试用例本身是: import 'react-
const storeMiddleware = __DEV__ ?
applyMiddleware(
thunkMiddleware,
loggerMiddleware
) :
applyMiddleware(
thunkMiddleware
);
测试用例本身是:
import 'react-native';
import React from 'react';
import App from '../App.js';
// Note: test renderer must be required after react-native.
import renderer from 'react-test-renderer';
describe('App', () => {
it('should render correctly', () => {
const tree = renderer.create(
<App />
).toJSON();
expect(tree).toMatchSnapshot();
});
// TODO: test if app renders correctly when __DEV__ is false
});
导入“react native”;
从“React”导入React;
从“../App.js”导入应用程序;
//注意:在react native之后必须使用测试呈现程序。
从“反应测试渲染器”导入渲染器;
描述('App',()=>{
它('应该正确呈现',()=>{
const tree=renderer.create(
).toJSON();
expect(tree.toMatchSnapshot();
});
//TODO:测试当_DEV__为false时应用程序是否正确呈现
});
我应该如何修改我的测试以获得100%的覆盖率我假设
\uuu DEV\uuu
是一个全局变量,因此您可以通过
global['__DEV__'] = false;
顺便说一句,没有必要获得100%的覆盖率,测试开发环境的设置也没有多大意义