gpt4 book ai didi

javascript - 如何使用 JEST 对 React App 中的功能进行单元测试

转载 作者:行者123 更新时间:2023-11-30 19:31:50 26 4
gpt4 key购买 nike

您好,我是 JEST 测试的新手,所以我想向您寻求一些支持。
我正在尝试在我的 App.test.js 中测试 App.js 组件的功能但我收到一个错误:

TypeError: _App.default.avg is not a function.

这是我的 App.js 组件

class App extends React.Component {

state={ }

avg = (elements) => {
let sum=0;
for(let i=0; i<elements.length; i++){
sum += elements[i].main.temp;
}
return (sum/elements.length).toFixed(2);
}

render() {
return(
<BrowserRouter>
<AppContext.Provider value={contextElements}>
<div className="App container">
<Route path="/" component={SettingsBar}/>
<Route path="/settings" component={SettingsView}/>
<Route exact path="/" component={RootView}/>
<Route path="/itemview" component={ItemView}/>
</div>
</AppContext.Provider>
</BrowserRouter>

)
}
}
export default App;


App.test.js

import React from 'react';
import ReactDOM from 'react-dom';
import App from './App';

describe('avg', () => {

it('should return 3 for given array [1,2,3,4,5]', () => {
expect(App.avg([1,2,3,4,5])).toBe(3);
});

});

我做错了什么?

最佳答案

您可能想尝试创建一个 App.js 类的实例。

所以在导入之后你可以尝试类似的东西

const myApp = new App();

然后,如您所愿,调用 myApp.avg(arguments)。

关于javascript - 如何使用 JEST 对 React App 中的功能进行单元测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56348228/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com