Я создал простой REST API, используя Mongdoose с Nest js. У меня в общей сложности 2 теста, и они проваливаются. Результат теста:
FAIL src / app / auth / auth.service.spe c .ts ● Не удалось запустить набор тестов
Cannot find module '@shared/errors' from 'auth.service.ts'
5 |
6 | import { AppLogger } from '../logger/logger';
> 7 | import { Errors } from '@shared/errors';
| ^
8 | import { ILoginDto } from './dto/login.dto';
9 | import { ITokenDto } from './dto/auth.dto';
10 | import { IUser } from '@user/document/user.doc';
at Resolver.resolveModule (../../node_modules/jest-resolve/build/index.js:259:17)
at Object.<anonymous> (auth/auth.service.ts:7:1)
FAIL src /app/user/user.service.spec.ts ● Не удалось запустить набор тестов
Cannot find module '@shared/errors' from 'user.service.ts'
1 | import { BadRequestException, Injectable } from '@nestjs/common';
2 | import { InjectModel } from '@nestjs/mongoose';
> 3 | import { Errors } from '@shared/errors';
| ^
4 | import { createMultipleRandom } from '@shared/utils';
5 | import { Model } from 'mongoose';
6 | import { AppLogger } from '../logger/logger';
at Resolver.resolveModule (../../node_modules/jest-resolve/build/index.js:259:17)
at Object.<anonymous> (user/user.service.ts:3:1)
Наборы тестов: 2 не пройдены, 2 всего тестов: 0 всего моментальных снимков: 0 всего времени: 2 751 с Запущены все тестовые наборы.
tsconfig. json:
{
"compilerOptions": {
"module": "commonjs",
"declaration": true,
"removeComments": true,
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"target": "es2017",
"sourceMap": true,
"outDir": "./dist",
"baseUrl": "./",
"incremental": true,
"paths": {
"@app/*": ["src/app/*"],
"@auth/*": ["src/app/auth/*"],
"@config/*": ["config/*"],
"@logger/*": ["src/app/logger/*"],
"@shared/*": ["src/app/shared/*"],
"@user/*": ["src/app/user/*"],
}
},
"include": [
"src/**/*"
],
"exclude": ["node_modules", "dist"]
}
auth.service.spe c .ts:
import { Test, TestingModule } from '@nestjs/testing';
import { AuthService } from './auth.service';
describe('AuthService', () => {
let service: AuthService;
beforeEach(async () => {
const module: TestingModule = await Test.createTestingModule({
providers: [AuthService],
}).compile();
service = module.get<AuthService>(AuthService);
});
it('should be defined', () => {
expect(service).toBeDefined();
});
});
In @ shared / error.ts я просто экспортирую постоянную переменную. Так как это не модуль, как я должен импортировать это в тесте? Как я могу решить эту проблему?