与jest反应renderIntoDocument始终返回null

时间:2016-08-10 14:09:36

标签: reactjs jestjs

我一直试图用jest测试一个反应应用程序。但甚至无法向前迈进一步。我创建了一个简单组件,并尝试用jest测试它。

这是组件

import React from 'react'

export default class TestComponent extends React.Component{
 render(){
    return(
        <h1>This is a Test Component</h1>
    )
 }
}

和测试

jest.dontMock('../src/components/TestComponent')

import TestComponent from '../src/components/TestComponent'
var React = require('react'),
TestUtils = require('react-addons-test-utils')

describe('TestComponent', () =>{

it('should Render Somehow',() => {
    let testComponent = TestUtils.renderIntoDocument(
        <TestComponent />
    )
    let com = TestUtils.scryRenderedDOMComponentsWithTag(testComponent, 'h1')
      expect(com.length).toEqual(1);
    console.log(com)
})
})

testComponent的输出实际上不是null,它打印出以'Testcomponent {'开头的东西但是当我尝试使用scryRenderedDOMComponentsWithTag方法从testComponent中找出任何东西时,这总是为null。

谢谢

1 个答案:

答案 0 :(得分:0)

解决方案是改变

jest.dontMock('../src/components/TestComponent')

jest.unmock('../src/components/TestComponent')

link