Я пытаюсь запустить контрольный пример для проверки точки входа в мой веб-сервис. Я столкнулся с одной проблемой при выполнении модульного теста.Невозможно следить за асинхронной функцией, потому что это свойство, а не функция.
Я пытаюсь проверить, вызывается ли функция запуска в файле server.js
Файл ввода выглядит примерно так, как показано ниже.
import config from 'config';
export default async function run() {
try {
/*
some code
*/
} catch (err) {
process.exit(1);
}
}
run();
И тестовый файлкак показано ниже
import run from '../server';
describe('server-test', () => {
it('run', async () => {
const start = require('../server');
const spy = jest.spyOn(start, run);
await run();
expect(spy).toBeCalled();
});
});
Тест должен работать правильно, но я получаю ниже ошибку при запуске этого теста
Cannot spy the async function run() {
try {
/*
some code.
*/
} catch (err) {
process.exit(1);
}
} property because it is not a function; undefined given instead