3

ajax.js一連の ajax 関数をエクスポートするというモジュールがあります。Jestで次の機能をテストしようとしています:

export const status = ({loginUrl='/', logoutUrl='/'}) => {
  return axios.get(`/auth?login=${loginUrl}&logout=${logoutUrl}`);
};

私のテストは次のようになります。

jest.unmock('../ajax');

import { status } from '../ajax';

describe('ajax', () => {
  let urls;

  beforeEach(() => {
    urls = {
      loginUrl: '/',
      logoutUrl: '/'
    };
  });

  it('calls status with a login and logout url', () => {
    const { loginUrl, logoutUrl } = urls;

    status(urls);
    expect(axios.get).toBeCalledWith(`/auth?login=${loginUrl}&logout=${logoutUrl}`);
  });
});

テストで実行時エラーが発生し続けます。

ランタイムジェストエラー

axios の場合unmock、エラーは解消されますが、axio を嘲笑したいので、それは役に立ちません。

また、次の行が原因でエラーが発生しているようです。

import { status } from '../ajax';

Jest が axios に苦労しているのはなぜですか。関数をインポートするだけでstatusこのエラーが発生するのはなぜですか? ここで何か間違ったことをしていますか?

4

1 に答える 1