728x90
반응형
이제 function을 테스트해보자.
movies.service.spec.ts
import { Test, TestingModule } from '@nestjs/testing';
import { MoviesService } from './movies.service';
describe('MoviesService', () => {
let service: MoviesService;
beforeEach(async () => {
const module: TestingModule = await Test.createTestingModule({
providers: [MoviesService],
}).compile();
service = module.get<MoviesService>(MoviesService);
});
it('should be defined', () => {
expect(service).toBeDefined();
});
describe("getAll", () => {
it("should be return an array", () => {
const result = service.getAll();
expect(result).toBeInstanceOf(Array);
})
})
});
이런 식으로 하단 부분에 테스트 코드를 추가해보면, getAll 함수가 array를 반환하는지에 대해 테스트를 해볼 수 있다.
getOne부분도 추가해보자
describe("getOne", () => {
it("should be return a movie", () => {
service.create({
title:"Test Movie",
genres: ['test'],
year: 2000
});
const movie = service.getOne(1);
expect(movie).toBeDefined()
})
})
자 이제 npm run test를 해보면,
테스트가 정상적으로 수행되는 것을 확인할 수 있다.
이번엔 404 error를 테스트해보자.
it("should throw 404 error", () => {
try {
service.getOne(999);
}
catch(e){
expect(e).toBeInstanceOf(NotFoundException)
}
})
코드를 추가하고 npm run test를 실행한다.
테스트가 정상 작동하는 것을 확인할 수 있다.
728x90
반응형
'Back-End > Nest.js' 카테고리의 다른 글
Nest.js | E2E TESTING | Movies 테스트 (0) | 2021.09.30 |
---|---|
Nest.js | UNIT TESTING | Delete and Create (0) | 2021.09.30 |
Nest.js | UNIT TESTING | First Unit Test (0) | 2021.09.30 |
Nest.js | UNIT TESTING | 소개 (0) | 2021.09.30 |
Nest.js | REST API | Express on NestJS (0) | 2021.09.29 |