Reactjs Jest如何使用全局变量覆盖所有分支

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-

我在和React Native开玩笑,无意中发现了一个问题

App.js组件中的一小段代码会导致50:50的分支覆盖率:

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%的覆盖率,测试开发环境的设置也没有多大意义