React - 传递给子组件的测试方法

时间:2017-01-10 15:19:41

标签: reactjs istanbul enzyme

我有一个呈现子组件的组件,并且在此过程中它将方法作为prop传递。它按预期工作,但由于工作原因,我必须覆盖大部分代码。截至目前,我不确定如何测试这种方法。这是我传递的父组件方法:

_onSelectCategory (categoryNo) {
    this.setState({
        selectedCategoryNo: categoryNo,
        selectedCategoryData: null,
        equipmentPageNo: 1
    });

    if (categoryNo) {
        this._getCategoryData(categoryNo);
    }
}

这是我传递它的地方:

<CategoryTree
  parentCategoryNo={ parseInt(localStorage.getItem("equipmentCategoryNo")) }
  sdkPath={ localStorage.getItem("sitename").toLowerCase() + "/categories" }
  onCategorySelect={ this._onSelectCategory }
/>

我正在使用Enzyme,Chai,Mocha,Sinon和Istanbul进行测试。我怎样才能用酶测试它并让它被伊斯坦布尔覆盖?使用mount时,子组件呈现正在加载,因为它没有足够的数据在测试中完全呈现。

编辑:我相信我知道如何正确渲染CategoryTree以模拟调用我试图测试的方法的click事件,但我需要在当前渲染中存在的CategoryTree上使用setState其父组件(包含_onSelectCategory的组件)。

0 个答案:

没有答案