Tôi có đoạn code sau đây trong một bài kiểm tra dựa jest:gọi setstate trên một thành phần reactjs với utils thử nghiệm không tái render thành phần
it('will show the hero loop if there is one', function() {
var React = require('react/addons');
var ShowsDetailHeader = require('../../../../routes/shows/components/ShowsDetailHeader.jsx');
var mockData = require('../../../../mock/episodeDetailData');
mockData.data.show.assets._webHeroVideoUrl = 'https://test.video.com';
var Subject = require('../../../../mock/stubRouterContext')(ShowsDetailHeader, {
show: mockData.data.show
});
var TestUtils = React.addons.TestUtils;
var showsHeader = TestUtils.renderIntoDocument(
<Subject />
);
showsHeader.setState({
showVideo: true
});
var videoClass = TestUtils.findRenderedDOMComponentWithClass(showsHeader, 'flex-video').getDOMNode().getAttribute('class');
expect(videoClass.indexOf('in')).toBe(-1);
console.log(videoClass);
});
thử nghiệm trước đây của tôi kiểm tra tình trạng ban đầu của các thành phần. Bây giờ tôi muốn gọi setState để kiểm tra thành phần sau khi thay đổi trạng thái. VideoClass tôi đang đăng nhập ở đây vẫn giữ nguyên. Tôi phản ứng 0,12. và jest mới nhất 0.4.0.
Bất kỳ ý tưởng nào về cách kiểm tra điều gì xảy ra sau khi đặt trạng thái?
có, trạng thái là riêng tư, nhưng trong trường hợp cụ thể này trong phần còn lại của thành phần tôi đang nghe một sự kiện xảy ra trên phần tử video và trình xử lý được gọi khi sự kiện này xảy ra. Tôi có thể ít nhất tôi giả sử gọi phương thức đó thay vì setState trực tiếp. tuyệt vời, tôi vẫn còn mới để jest. willl kiểm tra mà ra sau đó đánh dấu trả lời. –
runAllTicks không giúp được gì. Ngoài ra, không liên quan, tôi dường như không thể gọi phương thức đang thay đổi trạng thái, chỉ cần tiếp tục nhận đối tượng Object không có phương thức [methodName]. –
Xin chào, tôi đang cố gắng kiểm tra trạng thái thiết lập với Jest và React Test Utils, hãy nhìn vào đây nếu bạn có một chút thời gian? https://stackoverflow.com/questions/44399181/react-jest-how-to-test-changing-state-in-component-and-checking-for-another-co –