강의에서 계속 사용이 되지만 뭔지 이해가 안되던 부분.
가짜 함수라고 하는데 강의에서 jest.fn()이 사용되는 부분은 DB와 연결거나 클라이언트와 res,req, 미들웨어 next함수들
-> 다른 부분과 연결되는 것을 가짜로 만들어서 진짜로 연결 된것 처럼 보이게 하는것.
https://inpa.tistory.com/entry/JEST-%F0%9F%93%9A-%EB%AA%A8%ED%82%B9-mocking-jestfn-jestspyOn
sequlize 메소드를 가짜 함수로 만듬
let mockPostsModel = {
findAll: jest.fn(),
findByPk: jest.fn(),
create: jest.fn(),
update: jest.fn(),
destroy: jest.fn(),
}
각 클래스의 인스턴스를 모의함수로 대체해서 구현
let postRepository = new PostRepository(mockPostsModel);
let postService = new PostService();
// postService의 Repository를 Mock Repository로 변경합니다.
postService.postRepository = mockPostsRepository;
let postsController = new PostsController();
// postsController의 Service를 Mock Service로 변경합니다.
postsController.postService = mockPostService;