У меня есть компонент реакции, который вызывает вызов AJAX в методе componentDidMount
. Пока я пытаюсь отобразить его с помощью React.addons.TestUtils
, компонент отображается без вызова AJAX. Как мне протестировать компонент реакции с помощью шутки, чтобы он вызывал AJAX? Должен ли я также использовать phantomJS (или браузер, такой как env), чтобы предоставить возможности DOM реагировать на компонент?
Компонент React:
return React.createClass({
componentDidMount : function() {
$.ajax({
... makes http request
})
}
render : function() {
<div>
//view logic based on ajax response...
</div>
}
});
Тестовый пример:
jest.dontMock(../MyComponent);
var React = require('react/addons');
var TestUtils = React.addons.TestUtils;
var MyComponent = require(../MyComponent);
describe('Sample Test', function(){
it('To Render the component', function() {
var component = <MyComponent />;
var DOM = TestUtils.renderIntoDocument(component);
.... // Some other code...
});
})