【问题标题】:Jest how to cover all branches with global variable开玩笑如何用全局变量覆盖所有分支
【发布时间】:2017-03-06 12:51:47
【问题描述】:

我正在将 Jest 与 React-Native 一起使用,但我偶然发现了一个问题。

App.js 组件中的小代码 sn-p 导致 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% 的覆盖率

【问题讨论】:

    标签: reactjs react-native jasmine jestjs


    【解决方案1】:

    我假设 __DEV__ 是一个全局变量,因此您可以在 by with 中轻松更改它

    global['__DEV__'] = false;
    

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-07-21
      • 2017-07-15
      • 1970-01-01
      • 1970-01-01
      • 2013-05-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多