javascript - spy 功能不起作用 - Jasmine

标签 javascript reactjs jasmine ecmascript-6

import * as PlanReducer from '../../../reducers/planReducer';

describe('currentPlanReducer()', () => {

   beforeAll(() => {

      spyOn(PlanReducer, 'planReducer').and.callThrough();

   });
});

PlanRedcuer 是:

export default function planReducer(state = INITIAL_STATE, action) {....}

它在测试过程中向我抛出一个错误,即 planRedcuer 不是一种方法,我尝试导入其他类似的方法(不是导出默认值)并且它有效。任何人都可以帮助我了解如何监视该功能并测试它吗?

最佳答案

您不会将 planReducer 函数导出为 planReducer,而是导出为 default。因此,在测试中您应该监视 default 属性:

spyOn(PlanReducer, 'default').and.callThrough();
<小时/>

或者,您可以将 planReducer 导出为 defaultplanReducer:

const planReducer = function planReducer(state = INITIAL_STATE, action) {...}
export {planReducer}
export default planReducer

关于javascript - spy 功能不起作用 - Jasmine ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40281916/

相关文章:

javascript - 如何使用 Jasmine/Karma 测试对 DOM 元素的修改?

javascript - 对 AJAH 图书馆的建议

javascript - typescript 可选链接结合三元运算符解析错误

javascript - FF本地如何处理sessionStorage(测试用)

reactjs - 如何为Picker提供默认的 "Please select..."选项?

reactjs - 无法根据生产中运行的 Gatsby 应用程序中的 URL 参数更新 JSX 属性

javascript - 如何使用 Karma、Jasmine 和 Istanbul 指定测试应涵盖哪些功能/方法

javascript - ES6 - 生成一个数字数组

javascript - AJAX 和 jQuery 的问题

javascript - webpack:在构建中实现 zeptojs