快照测试反应组件依赖于注入mobx存储

时间:2017-07-31 22:38:51

标签: reactjs jest mobx

我一直试图弄清楚如何对一些注入了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();
});

然后在我的快照测试中导入未修饰的组件,但这不起作用。

想法?

1 个答案:

答案 0 :(得分:0)

您应该能够像这样明确地传递商店:

const tree = renderer.create( <Component.wrappedComponent myStore={store}/>).toJSON(); )