Jest config:
{
"moduleFileExtensions": ["js", "json", "ts"],
"rootDir": "..",
"testEnvironment": "node",
"testRegex": "test/.*\\.e2e-spec\\.ts$",
"transform": {
"^.+\\.(t|j)s$": "ts-jest"
},
"collectCoverage": true,
"collectCoverageFrom": ["<rootDir>/src/**/*.ts"],
"coverageProvider": "v8"
}
test
import { INestApplication } from '@nestjs/common';
import { Test } from '@nestjs/testing';
import * as request from 'supertest';
import { AppModule } from '../src/app.module';
describe('E2E Suite', () => {
let app: INestApplication;
let httpClient: ReturnType<typeof request>;
beforeAll(async () => {
const modRef = await Test.createTestingModule({
imports: [AppModule],
}).compile();
app = modRef.createNestApplication();
await app.listen(0);
const address = await app.getUrl();
httpClient = request(address);
});
describe('suites', () => {
test('Query Server', async () => {
const res = await httpClient.get('/');
expect(res.status).toBe(200);
expect(res.text).toBe('Hello World!');
});
});
afterAll(async () => {
await app.close();
});
});