如何用 jest 和 enzyme 使用 Relay modern 进行测试?
How to do testing with Relay modern with jest and enzyme?
如何用 jest 和 enzyme 测试这种文件...
class App extends React.Component{
constructor(){
super()
}
render(){
const { viewer, children, isLoading } = this.props
return(
<div>
<div id="container">
{children}
</div>
{isLoading && <Loading />}
</div>
);
}
}
export default createFragmentContainer(
App,
graphql`
fragment App_viewer on User{
id
email
}
`
)
你可以这样做
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 。正如刚才提到的。
如何用 jest 和 enzyme 测试这种文件...
class App extends React.Component{
constructor(){
super()
}
render(){
const { viewer, children, isLoading } = this.props
return(
<div>
<div id="container">
{children}
</div>
{isLoading && <Loading />}
</div>
);
}
}
export default createFragmentContainer(
App,
graphql`
fragment App_viewer on User{
id
email
}
`
)
你可以这样做
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 。正如刚才提到的。