use*_*692 5 reactjs jestjs enzyme react-component react-test-renderer
我正在使用Jest和Enzyme进行 React 应用程序测试。
我的文件夹结构看起来像
/源
/__测试__
/关卡组件
/成分
/关卡组件
/小部件
OuterComp.js
import React, { Component } from 'react'
import ChenDropdown from '../Widgets/ChenDropdown'
class OuterComp extends Component {
render() {
return (
<div>
<ChenDropdown />
<ChenDropdown />
</div>
)
}
}
export default OuterComp
Run Code Online (Sandbox Code Playgroud)
ChenDropdown.js
import React, { Component } from 'react'
class ChenDropdown extends Component {
render() {
return <h1>test</h1>
}
}
export default ChenDropdown
Run Code Online (Sandbox Code Playgroud)
OuterComp.test.js
import Adapter from 'enzyme-adapter-react-16'
import Enzyme, { mount } from 'enzyme'
import OuterComp from '../../components/LevelComponents/OuterComp'
import ChenDropdown from '../../components/widgets/ChenDropdown'
Enzyme.configure({ adapter: new Adapter() })
describe('test', () => {
it('test', () => {
const wrapper = mount(<OuterComp />)
console.log(wrapper.debug())
expect(wrapper.exists()).toBe(true)
expect(wrapper.find('ChenDropdown').length).toBe(2)
expect(wrapper.find(ChenDropdown).length).toBe(2)
})
})
Run Code Online (Sandbox Code Playgroud)
结果是测试可以通过
expect(wrapper.find('ChenDropdown').length).toBe(2)
Run Code Online (Sandbox Code Playgroud)
但失败了
expect(wrapper.find(ChenDropdown).length).toBe(2)
Run Code Online (Sandbox Code Playgroud)
wrapper.debug()
输出:
<OuterComp>
<div>
<ChenDropdown>
<h1>
test
</h1>
</ChenDropdown>
<ChenDropdown>
<h1>
test
</h1>
</ChenDropdown>
</div>
</OuterComp>
Run Code Online (Sandbox Code Playgroud)
我想知道为什么,什么时候我可以直接使用它,什么时候我必须在它周围放上绳子。
归档时间: |
|
查看次数: |
286 次 |
最近记录: |