You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
저희 팀은 거의 모든 기능 공급자를 Class 로 구현하였습니다.
따라서 Class Mock 을 중점적으로 다루고자 하며, 이에 따라 다음과 같은 방식을 사용하였습니다.
모든 격리 기법은 export defualt 를 전제로 작성되었으며, export 의 경우 다른 방식으로 작성해야 할 것입니다.
실제 내용은 직접 코드를 타이핑하
2.1. automated mock
대역 으로 만들고 싶은 클래스가 export default 를 통해서 내보내기 되었을 때, 다음과 같이 automated-mock 이 작동합니다.
jest.mock("~/상대경로/file-name.ts");
다만, microsoft/TypeScript - wiki/Performance 에 일반적으로 export default 와 import 의 사용이 빌드 성능을 저하시킬 수 있는 우려 라는 구절이 있습니다. 이에 따라서, 되도록이면 automated-mock 을 사용하는 것은 빌드 측면 에서 그렇게 좋은 선택이 아닐 것 같습니다.
1. 서론
2. CLass Mock
저희 팀은 거의 모든 기능 공급자를 Class 로 구현하였습니다.
따라서 Class Mock 을 중점적으로 다루고자 하며, 이에 따라 다음과 같은 방식을 사용하였습니다.
모든 격리 기법은
export defualt
를 전제로 작성되었으며,export
의 경우 다른 방식으로 작성해야 할 것입니다.실제 내용은 직접 코드를 타이핑하
2.1. automated mock
대역 으로 만들고 싶은 클래스가
export default
를 통해서 내보내기 되었을 때, 다음과 같이 automated-mock 이 작동합니다.다만, microsoft/TypeScript - wiki/Performance 에 일반적으로 export default 와 import 의 사용이 빌드 성능을 저하시킬 수 있는 우려 라는 구절이 있습니다. 이에 따라서, 되도록이면 automated-mock 을 사용하는 것은 빌드 측면 에서 그렇게 좋은 선택이 아닐 것 같습니다.
자세한 내용은 tsc 성능 튜닝과 관련된 다음 이슈를 확인해주세요.
tsc
is so slow #1372.2. manual mock
대역 으로 만들고 싶은 클래스가
export
를 통해서 내보내기 되었거나,일부 프로퍼티
만 대역으로 교체하고 싶을 때가 있을 것입니다.이러한 경우, 다음과 같이 manual mock 을 통해서 모킹할 수 있습니다.
참고자료
환경 설정
The text was updated successfully, but these errors were encountered: