摩卡&酶 - 如何测试React组件没有孩子?

时间:2016-12-18 11:47:53

标签: reactjs mocha enzyme

为了进行测试,我使用 mocha 以及chai和chai-enzyme进行测试断言。

说我在React中有以下表示组件:

import React from 'react'

import { Component, PropTypes } from 'react';

const LayerList = (props) => (
    <div>

    </div>
    )

LayerList.PropTypes = {
    layers: PropTypes.arrayOf(PropTypes.string).isRequired,
    layerActions: PropTypes.shape({
        addLayer: PropTypes.func,
        removeLayer: PropTypes.func,
        toggleDragLayer: PropTypes.func,
        moveLayerIndex: PropTypes.func,
        updateLayerColour: PropTypes.func,
        toggleLayerVisibility: PropTypes.func
    }).isRequired
}

export default LayerList

当图层道具是一个长度为0的数组时,我如何使用Enzyme和Mocha来测试该组件没有子项?

这是我目前的尝试:

   it('should render only one div as first child element if layers prop is empty array', () => {
      const wrapper = shallow(<LayerList layers={[]}/>);    
      expect(wrapper.type()).to.equal('div');
       expect(wrapper.children()).length.to.equal();
    });

Mocha Test Result

1 个答案:

答案 0 :(得分:3)

ShallowWrapper上的

.children()应该:

const wrapper = shallow(<LayerList layers={[]} />);
expect(wrapper.children()).to.have.length(0);
相关问题