Back-End/Nest.js
Nest.js | UNIT TESTING | getAll and getOne
개발자티포
2021. 9. 30. 11:01
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
반응형