#reactjs #graphql #jestjs #enzyme #relaymodern
#reactjs #graphql #jestjs #enzyme #relaymodern
Вопрос:
Как протестировать этот файл с помощью jest и enzyme…
class App extends React.Component{
constructor(){
super()
}
render(){
const { viewer, children, isLoading } = this.props
return(
<div>
<div id="container">
{children}
</div>
{isLoading amp;amp; <Loading />}
</div>
);
}
}
export default createFragmentContainer(
App,
graphql`
fragment App_viewer on User{
id
email
}
`
)
Ответ №1:
Вы можете сделать что-то вроде этого
const React = require('React');
const App = require('App.react');
jest.mock('react-relay', () => ({
createFragmentContainer: App =>
App,
}));
const {shallow} = require('enzyme');
const {shallowToJson} = require('enzyme-to-json');
describe('App', () => {
it('renders the dashboard section correctly', () => {
const wrapper = shallow(
< App
title="Test Dashboard Section"
charts={[]}
/>,
);
expect(shallowToJson(wrapper)).toMatchSnapshot();
});
Нам нужно смоделировать react-relay. Как упоминалось выше.