加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

单元测试 – 如何测试一个React组件是否包含另一个组件与jest?

发布时间:2020-12-15 20:52:38 所属栏目:百科 来源:网络整理
导读:我试图使用jest-cli测试一个反应组件是否包含其输出中的另一个组件.我无法想出如何做到这一点. 这是我的组件: DesignerPage组件 [...]var TopBar = require('../components/layout/TopBar.js');var DesignerPage = React.createClass({ getInitialState: fu
我试图使用jest-cli测试一个反应组件是否包含其输出中的另一个组件.我无法想出如何做到这一点.

这是我的组件:

DesignerPage组件

[...]
var TopBar = require('../components/layout/TopBar.js');

var DesignerPage = React.createClass({
  getInitialState: function() {
    var state = {
    };
    return state;
  },render: function() {
    return (
      <div> 
        <TopBar />
      </div>
    )
  }
});

module.exports = DesignerPage;

TopBar组件

/** @jsx React.DOM */
var React = require("react");

var TopBar = React.createClass({
    render: function() {
        return (
            <nav className="top-bar">
            </nav>
        );
    }
});

module.exports = TopBar;

现在,我想测试DesignerPage组件是否包含TopBar组件.这是我认为应该工作的:

/** @jsx React.DOM */
jest.dontMock('../../src/js/pages/DesignerPage.js');
describe('DesignerPage',function() {
  it('should contain a TopBar',function() {
    var React = require('react/addons');
    var DesignerPage = require('../../src/js/pages/DesignerPage.js');
    var TestUtils = React.addons.TestUtils;

    // Render a DesignerPage into the document
    var page = TestUtils.renderIntoDocument(
      <DesignerPage />
    );

    // Verify that a TopBar is included
    var topbar = TestUtils.scryRenderedComponentsWithType(page,'TopBar');
    expect(topbar.length).toBe(1);
  });
});

但它不通过…

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读