Имам компонент за реакция, който прави 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>
}
});
TestCase:
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...
});
})