小编Cam*_*n K的帖子

使用 Jest 监视默认导出函数

我需要测试当我正在测试的 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)

javascript logging unit-testing reactjs jestjs

3
推荐指数
1
解决办法
8610
查看次数

标签 统计

javascript ×1

jestjs ×1

logging ×1

reactjs ×1

unit-testing ×1