В моем приложении node.js (с использованием express) у меня есть класс TypeScript, например:
import { logger } from 'logger';
export default class SomeDataService {
private someDependency: SomeDependency;
constructor(someDependency: SomeDependency) {
this.someDependency = someDependency
logger.info(`Attempting to get location from location service`);
}
// rest removed for brevity
}
В моем тесте (с использованием Jest) я ссылаюсь на него так:
describe('when..... etc', () => {
it('then..... etc', async () => {
someDataService = new SomeDataService(someDependency);
});
К сожалению, когда я запустил это (jest
Jest не завершился через одну секунду после завершения тестового запуска.
Это обычно означает, что есть асинхронные операции, которые не были остановлены в ваших тестах. Рассмотрите возможность запуска Jest с --detectOpenHandles
для устранения этой проблемы.
Когда я удаляю logger
в SomeDataService
, эта ошибка исчезает. Регистратор I Я использую Winston
- и похоже, что он все еще имеет openHandle после запуска теста. Просто интересно, как я go закрываю это или обхожу эту проблему? (Я бы предпочел не заглушать реализацию)
TIA