如果第一个测试用例通过或失败,则有条件地运行一个测试用例

时间:2019-03-05 07:58:08

标签: reactjs testing jestjs enzyme testcase

我在基于类的组件中有一个方法updateHeight(),它根据图像高度更新箭头高度。如果没有箭头,则返回false

我想编写一个测试用例,检查箭头是否存在,然后函数不应返回false,反之亦然。

例如;

let arrows expect(wrapper.find('.arrow').length).toBe(1);
if ( arrows ) {
    // run second test case
}

1 个答案:

答案 0 :(得分:0)

我找到了适合我的解决方案。不过,我不知道这是否应该是这样。在评论中需要建议。

describe( '>> update arrows testing', () => {

  // set variable to false by default
  let arrowsExists = false;

  // check if arrows exist and set the variable to true
  test( 'Check if Arrows Exist', () => {
    const wrapper = mount( <Component/> );
    expect( wrapper.find('.playlist-slider .slick-arrow').length).toBe(1);
    // set the variable to true
    arrowsExists = true;
  } );

  // test update arrow height function if arrows exist
  test( 'Update Arrow Height Func test', () => {
    const wrapper = Shallow( <Component/> );

    if ( arrowsExists ) {
      // function should update height and return true.
      expect(wrapper.instance().updateArrowHeight()).toEqual(true);
    }

  } );

} );