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

时间:2016-10-24 16:53:40

标签: reactjs react-native jasmine jestjs

我正在使用Jest和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
});

我应该如何修改我的测试以获得100%的覆盖率

1 个答案:

答案 0 :(得分:0)

我假设__DEV__是一个全局变量,因此您可以使用

轻松更改
global['__DEV__'] = false;

顺便说一下。没有必要获得100%的覆盖率,测试开发环境的设置也没什么意义。