我有一个使用spyOn中的jest方法的单元测试。

import React from 'react';
import expect from 'jest-matchers';
import PointsAwardingPage from '../PointsAwardingPage';
import PointsAwardingForm from '../children/PointsAwardingForm';
import { shallow } from 'enzyme';

it("should call change method in form", () => {
  // given
  spyOn(PointsAwardingPage.prototype, 'change').and.callThrough();
  const form = shallow(<PointsAwardingPage />).find('PointsAwardingForm');

  // when
  form.props().onChange();

  // then
  expect(PointsAwardingPage.prototype.change).toHaveBeenCalled();
});

一切正常。但是,我看到以下有关eslint函数调用的spyOn错误消息。
spyOn is not defined (no-undef)

我可以使用哪个import语句来消除此错误?

最佳答案

尽管global注释是一种有效的解决方案,但我相信您可以简单地使用jest.spyOn()代替。

不要忘记在jest中定义.eslintrc:

"env": {
    "jest": true
}

10-05 21:36