test파일 만들기
test:cov
test:watch
유닛 테스팅
end-to-end 테스트
유닛 테스트 하는법
describe('getAll', () => {
it('should return an array', () => {
const result = service.getAll();
expect(result).toBeInstanceOf(Array);
});
});
describe('deleteOne', () => {
it('delete a movie', () => {
service.create({
title: 'Test Movie',
genres: ['test'],
year: 2000,
});
const allMovies = service.getAll().length;
service.deleteOne(1);
const afterDelete = service.getAll().length;
expect(afterDelete).toBeLessThan(allMovies);
});
it('should return a 404', () => {
try {
service.deleteOne(999);
} catch (error) {
expect(error).toBeInstanceOf(NotFoundException);
expect(error.message).toEqual(`Movie with ID: 999`);
}
});
});
e2e테스트 하는법
describe('/movies', () => {
it('(GET)', () => {
return request(app.getHttpServer()).get('/movies').expect(200).expect([]);
});
it('(POST)', () => {
return request(app.getHttpServer())
.post('/movies')
.send({ title: 'TEST', year: '2021', genres: ['TEST'] })
.expect(201);
});
it('(DELETS)', () => {
return request(app.getHttpServer()).delete('/movies').expect(404);
});
});