我一直试图弄清楚如何对一些注入了mobx存储的组件进行简单的快照测试。这是一个例子:
在根部,我有一个email: <?php echo $email ?> <br>
subject: <?php echo $subject ?> <br>
message: <?php echo $message ?> <br>
将整个shebang包裹在入口点的最后<Provider>
。 (此处未显示)
ReactDOM.render()
我的测试失败了,因为它错过了树上提供的商店。我已经尝试过出口&#34;未修饰的&#34;像这样的组件:
// component.js
...{imports}...
@inject('mystore')
@observer
export default class extends React.Component {
render() {
return (
<div>Stuff</div>
)
}
}
// component.test.js
import React from 'react';
import ReactDOM from 'react-dom';
import renderer from 'react-test-renderer';
import Component from './'
it('renders a snapshot', () => {
const tree = renderer.create(<Component/>).toJSON();
expect(tree).toMatchSnapshot();
});
然后在我的快照测试中导入未修饰的组件,但这不起作用。
想法?
答案 0 :(得分:0)
您应该能够像这样明确地传递商店:
const tree = renderer.create(
<Component.wrappedComponent myStore={store}/>).toJSON();
)