[React Testing] Reusing test boilerplate

Setting up a shallow renderer for each test can be redundant, especially when trying to write similar tests that have slight tweaks. In this lesson, we go over how you can reduce some of the overlapping code so that each test only contains the unique pieces of the test.

 

describe('active class', ()=>{

    function renderLikeCounter(isActive){
        const renderer = TestUtils.createRenderer();
        renderer.render(<LikeCounter count={5} isActive={isActive}/>);
        return renderer.getRenderOutput().props.className.includes('LikeCounter--active');
    }

    it('should have active class based on isActive props: true', ()=>{
        expect(renderLikeCounter(true)).toEqual(true);
    });

    it('should have active class based on isActive props: false', ()=>{
        expect(renderLikeCounter(false)).toEqual(false);
    });
});

 

posted @ 2016-01-07 15:12  Zhentiw  阅读(172)  评论(0编辑  收藏  举报