对于无渲染组件,酶浅返回未定义

时间:2018-06-01 04:49:42

标签: javascript reactjs jestjs enzyme

这是我的js文件

UserDefaults

我为下面写了一个测试用例:

import React, { Component } from 'react';

export default class ProjectStore extends Component {
  static lodingCount = 0;
  constructor(props) {
    super(props);
  }

  static setLodingCount(countValue){
    ProjectStore.lodingCount = countValue;
  }

  static getLodingCount(){
    return ProjectStore.lodingCount;
  }
}

但当我执行import React from 'react'; import {shallow} from 'enzyme'; import ProjectStore from '../projectStore.js'; describe('<ProjectStore />', () => { it('should return loading count', () => { const ProjectStore = shallow(<ProjectStore />); ProjectStore.setLodingCount(2); expect(ProjectStore.lodingCount).toEqual(2); }); }); 时,它又返回了:

npm test

我在这里做错了什么?

1 个答案:

答案 0 :(得分:1)

从类中测试静态方法时,您不需要渲染该组件。您需要做的就是从该类调用静态方法,如下所示:

/css

您可以从this answer了解详情。