私は冗談ベースのテストで次のコードを持っています:
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);
});
以前のテストでは、コンポーネントの初期状態をテストしました。状態の変更後に setState を呼び出して、コンポーネントをチェックしたいと思います。ここで記録している videoClass は同じままです。私は0.12に反応しています。そして最新のjest 0.4.0。
状態を設定した後に何が起こるかをテストする方法についてのアイデアはありますか?