当前位置:  开发笔记 > 前端 > 正文

错误:不变违规:findAllInRenderedTree(...):实例必须是复合组件

如何解决《错误:不变违规:findAllInRenderedTree():实例必须是复合组件》经验,为你挑选了1个好方法。

在JEST for React文件中编写测试用例时,我收到此错误.以下是我的示例代码:

search_basr_test.js

jest.autoMockOff();
global.React = require('react/addons');
jest.setMock('../stores/browser_store.jsx');
beforeEach(function() {
    var search_bar = require('../components/search_bar.jsx');
});
var TestUtils = React.addons.TestUtils;

describe("Test", function() {
    it("should render Test", function() {
            var test = TestUtils.renderIntoDocument();
            expect(test).toBeDefined();
    });
    it("renders a list in a box with proper CSS classes", function() {
            var test = TestUtils.renderIntoDocument();
            let box = TestUtils.findRenderedDOMComponentWithTag(test, "div");
            expect(box.className).toEqual("sidebar__collapse");
    });
});

search_bar.jsx

return (
        
{'Cancel'} }

有谁在那里帮我解决这个问题?



1> 小智..:

复合组件是包含React组件(不是div,span,...)的组件.方法'findRenderedDOMComponentWithTag'将参数作为复合组件.

尝试直接在你的情况下解析组件(jquery,js,...),因为它不是复合组件

推荐阅读
赛亚兔备_393
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有