2016-09-13 5 views
1

구성 요소를 테스트하려고하는데 설명서를보고 있었으므로 오류를 테스트하는 방법에 대한 좋은 참고 자료가 없습니다.React - 테스트 구성 요소 propType - 실패 예상

구성 요소가 필수 속성을 전달하지 못하여 탑재에 실패하는 시나리오를 테스트하고 싶습니다.

내 현재 테스트 : 테스트가 성공하면서

jest.dontMock('./Carousel.react.js'); 
jest.dontMock('react'); 
var React = require('react'); 
var ReactTestUtils = require('react-addons-test-utils'); 
var Carousel = require('./Carousel.react.js'); 

/* 
Carousel propTypes 
propTypes: { 
    choices: React.PropTypes.array.isRequired, // an array of image URLs 
    choice: React.PropTypes.string 
}, 
*/ 

describe('Carousel', function() { 

    it('should fail when images array is not provided', function() { 
    var failed = false; 
    try { 
     var CarouselDom = ReactTestUtils.renderIntoDocument(<Carousel/>); 
     var wrapperDiv = ReactTestUtils.scryRenderedDOMComponentsWithTag(CarouselDom, 'div'); 
    } catch(e) { 
     failed = true; 
    } 
    expect(failed).toBe(true); 
    }); 

}); 

지금,이 마운트에 실패 구성 요소를 테스트 할 수있는 올바른 방법처럼 생각하지 않습니다. 올바른 방법은 무엇입니까? 농담을 사용하여 테스트를 작성

+0

이 괜찮아 보인다. scry 문이 필요합니까? – vijayst

답변

1

약간 우아한 방법은 다음과 같습니다

describe('Carousel',() => { 
    it('throws when image array is not provided',() => { 
    expect(() => { 
     var CarouselDom = ReactTestUtils.renderIntoDocument(<Carousel/>); 
    }).toThrow(); 
    }); 
}); 
+0

더 우아함을 느낍니다. – SoluableNonagon

관련 문제