【发布时间】:2021-09-13 22:26:06
【问题描述】:
我今天开始编写一些测试,这是我第一次使用 Jest 和 Enzyme。 在我想测试一个特定的函数“sum”之前它工作得很好。
我得到的错误是:TypeError: (0 , _App.sum) is not a function 这是什么原因造成的?
这是我的 App.js
import logo from './logo.svg'
import './App.css'
const App = () => {
const sum = (a, b) => {
return a + b
}
return (
<div className="App">
<header className="App-header">
<img src={logo} className="App-logo" alt="logo" />
<p>Hello</p>
<a
className="App-link"
href="https://reactjs.org"
target="_blank"
rel="noopener noreferrer"
>
Learn React
</a>
</header>
</div>
)
}
export default App
我的 App.test.js 文件:
import { shallow } from 'enzyme'
import App from './App'
import { sum } from './App'
it('renders without crashing', () => {
shallow(<App />)
})
it('Text contains Hello', () => {
const wrapper = shallow(<App />)
expect(wrapper.contains(<p>Hello</p>)).toEqual(true)
})
it('Sum equals 3', () => {
expect(sum(2 + 1)).toBe(3) // This one fails, why?
})
【问题讨论】:
标签: reactjs unit-testing jestjs enzyme