如何将值传递给PropTypes.node.isRequired类型的prop到jest酶测试?

时间:2017-10-25 15:20:47

标签: reactjs enzyme jest

我正在使用酶编写反应成分的jest测试。我必须将值传递给props进行快照测试。如何将值传递给道具类型:

  Foo.propTypes = {
    children: PropTypes.node.isRequired
text: PropTypes.string.isRequired
    }

Foo.test.jsx:

it('captures screenshot of foo', ()=> {
const renderedvalue = renderer.create(<Foo text='test' />.toJSOn();
expect(renderedvalue).toMatchSnapshot();
{);

因为孩子需要,所以它会发出警告以传递它的价值。但我不知道如何为它传递价值。我试过了:

const children= <div />
const renderedvalue = renderer.create(<Foo text='test'  children={children}/>.toJSOn();

但它失败了。同样,还有另一个属性PropTypes.object.isrequired

卡:PropTypes.object.isRequired

有人可以帮助我知道如何将这两种道具类型的值传递给酶快照测试。

谢谢!

1 个答案:

答案 0 :(得分:0)

children是一个内置的特殊道具。它意味着该组件包装了其他组件或元素。

试试这样:

it('captures screenshot of foo', ()=> {
const renderedvalue = renderer.create(
    <Foo text='test'>
        </div>hello</div>
    </Foo>
    ).toJSOn();
expect(renderedvalue).toMatchSnapshot();
{);