我需要测试当我正在测试的 addCampus 方法抛出错误时是否调用 logger() 函数。我对开玩笑还很陌生,所以我可能会错过一些简单的东西
记录器.js
function logger(level, message) {
//logs message to console
//has no explicit return
}
export default logger;
Run Code Online (Sandbox Code Playgroud)
添加校园列表.jsx
import logger from '../../Logger';
addCampus = campus => {
axios
.post('/api/campuses/', {
name: campus.campusName,
abbreviation: campus.campusAbbreviation,
})
.then(response => {
const { campuses } = this.state;
campuses.push(response.data);
this.setState({ campuses });
})
.catch(error => {
this.props.displayError(error);
logger('ERROR', error);
});
};
Run Code Online (Sandbox Code Playgroud)
AddCampusList.test.js
import logger from '../../../src/Logger.js'
...
it('calls displayError() with error', async () => {
getSpy = jest.spyOn(axios, 'get').mockRejectedValueOnce(error); …Run Code Online (Sandbox Code Playgroud)