其移动设备不应呈现链接时的单元测试用例

时间:2016-03-28 14:02:35

标签: javascript html unit-testing reactjs redux

  • 我的要点全部代码https://gist.github.com/js08/47c56dff0e4b75a281ae
  • 我有一个应用程序,它根据构建环境显示桌面和移动设备的不同模板。
  • 我成功地开发了它,我需要隐藏我的移动模板的导航菜单。
  • 现在我能够编写一个测试用例,通过原型获取所有值并正确呈现它们
  • 但我不确定如何编写单元测试用例,因为在移动时它不应该渲染导航组件。

提供以下代码(测试用例):

import {expect} from 'chai';
import React from 'react';
import TestUtils from 'react-addons-test-utils';
import {SportsTopPortion} from '../../../src/components/sports-top-portion/sports-top-portion.jsx';
require('../../test-utils/dom');


describe('"sports-top-portion" Unit Tests', function() {
    let shallowRenderer = TestUtils.createRenderer();

    let sportsContentContainerLayout ='mobile';
    let sportsContentContainerProfile = {'exists': 'hasSidebar'};
    let sportsContentContainerAuthExchange = {hasValidAccessToken: true};
    let sportsContentContainerHasValidAccessToken ='test'; 

    it('should render correctly', () => {
        shallowRenderer.render(<SportsTopPortion sportsWholeFramework={sportsContentContainerLayout} sportsPlayers={sportsContentContainerProfile} sportsAuthentication={sportsContentContainerAuthExchange} sportsUpperBar={{activeSportsLink:'test'}} />);
        //shallowRenderer.render(<SportsTopPortion sportsWholeFramework={sportsContentContainerLayout} sportsPlayers={sportsContentContainerProfile} hasValidAccessToken={sportsContentContainerHasValidAccessToken}  />);

        let renderedElement = shallowRenderer.getRenderOutput();
        console.log("renderedElement------->" + JSON.stringify(renderedElement));

        expect(renderedElement).to.exist;
    });



});

需要编写测试用例的代码段:

if (sports.build === 'mobile') {
    sportsNavigationComponent = <div />;
    sportsSideMEnu = <div />;
    searchComponent = <div />;
    sportsPlayersWidget = <div />;
}

0 个答案:

没有答案