そのため、正しいテスト可能な動作を取得するためにストアで動作する必要があるコンポーネントをテストしています。「ビュー」にはストアが機能する必要があるため、ストアをモックする必要はなく、「オブジェクト割り当て」のものをモックしない必要があることを読みました。
テストコードからの抜粋:
jest.dontMock('object-assign');
jest.dontMock('../StationSearch.jsx');
jest.dontMock('../../stores/StationStore.js');
describe('StationSearch', function() {
var StationSearch;
var stationSearch;
var React;
var TestUtils;
beforeEach(function() {
React = require('react/addons');
TestUtils = React.addons.TestUtils;
StationSearch = require('../StationSearch.jsx');
stationSearch = TestUtils.renderIntoDocument(<StationSearch />);
});
it('is rendered without value by default', function() {
// code here
}
);
ビューからのいくつかのコード:
var React = require('react');
var StationStore = require('../stores/StationStore');
var StationSearch = React.createClass({
componentDidMount: function() {
StationStore.addChangeListener(this._onChange);
},
});
今、私のテストを実行すると、
TypeError: Cannot call method 'addChangeListener' of undefined
...私の変更リスナーラインでは、物事を「嘲笑しない」ということになると、私は(私が)正しいことをしていると思います。
なぜ私がこれを手に入れたのか、まだ誰も手がかりを持っていますか?