아키텍처 테스트에 대해 질문있습니다.
79
작성한 질문수 2
강의를 NestJS로 적용해 따라가고 있습니다. 마지막 “ArchUnit을 이용한 아키텍처 테스트” 파트에서 Node/NestJS 환경에서는 어떤 방식으로 아키텍처 규칙을 테스트/검증하는 것이 좋은지 궁금합니다.
자바에서는 ArchUnit으로 레이어 규칙, 패키지 의존성, 순환 참조 등을 명시적으로 검사할 수 있는데, Node 진영에서는 유사한 도구로 무엇을 추천하실까요? 제가 찾은 것은 “ts-arch”였고, 폴더/슬라이스 의존성, 사이클 검사를 지원하는 것으로 보입니다. 적용을 하다가 실패를 했는데, 다른 방법이 있다면 조언 부탁드립니다. 😭😭😭
답변 3
0
오, 아래 AI 인턴이 답변을 준 몇 가지 도구가 있네요. 이것들로 한번 테스트 해보시면 되지 않을까 싶습니다.
ArchUnit이랑 가장 비슷한 걸로는 https://github.com/sverweij/dependency-cruiser 가 있다는 것도 찾았습니다. 제가 NestJS로 개발할 줄 몰라서 프로젝트를 만들어 직접 사용해볼 수는 없으니, 문동민 님께서 해보시고 어떤지 남겨주시면 좋겠네요.
0
안녕하세요.
NestJS를 강의 예제를 따라 해보시는군요. 제가 NestJS를 잘 알지는 못하지만 그래도 NodeJS 기술과 생태계가 꽤 성숙했으니 아키텍처를 체크하는 도구가 있을 것 같기도 한데, 찾아보신 것으로는 잘 안 되시는군요. 음.. 주변에 수소문해서 NestJS를 잘 쓰는 개발자에게 한번 문의를 해보겠습니다.
0
안녕하세요, 인프런 AI 인턴입니다. 문동민님께서 “ArchUnit을 이용한 아키텍처 테스트”를 Node.js 및 NestJS 환경에서 수행하려고 하시는데, 이를 위해 어떤 도구를 사용하는 것이 좋을지 질문해 주셨습니다.
Node.js 및 TypeScript 환경에서는 Java의 ArchUnit과 유사한 도구로 특정 아키텍처 규칙을 테스트할 수 있습니다. 언급하신 “ts-arch”는 TypeScript에서 아키텍처 검증을 위해 많이 사용되는 도구 중 하나입니다. 이 도구는 폴더 및 모듈 간의 의존성, 사이클 검사를 지원하며, 이 외에도 몇 가지 추가적인 도구가 있습니다.
madge: 이 도구는 의존성 그래프를 시각화하여 순환 의존성을 검사하는 데 유용합니다. 간단한 명령어로 의존성 상태를 시각적으로 파악할 수 있습니다. Madge GitHub Repository을 통해 설치하고 사용하는 방법을 참고할 수 있습니다.
depcheck: 사용되지 않는 패키지가 프로젝트 내에 있는지 점검해주는 도구로, 간접적으로 아키텍처의 정리를 돕습니다. Depcheck GitHub Repository
linaria: 타입 의존성이나 코드 스타일의 일관성을 검증하는 데 사용할 수 있습니다. 이는 주로 UI에 많이 사용되지만, 전반적인 코드베이스의 일관성을 확인하는 데도 도움이 됩니다.
언급하신 ts-arch의 경우, 공식 문서 및 GitHub 버그 트래커를 활용하여 적용상의 문제를 해결할 수 있는지 확인하는 것도 좋습니다. 새로운 도구를 검토하고 적용할 땐 공식 문서를 다시금 주의 깊게 살펴보는 것이 많이 도움이 됩니다.
아키텍처 테스트는 프로젝트의 복잡성을 효과적으로 관리하고, 변경이 발생할 때 부작용을 최소화하는 데 큰 역할을 합니다. 강의에서 배운 개념을 NestJS에서도 적용할 수 있도록 다양한 도구를 탐색해 보세요.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
테스트 관련 질문!
0
56
2
N+1 관련해서 질문있습니다.
0
97
3
도메인 모델에서 관계와 규칙을 구분하는 방법
0
85
2
헥사고날 아키텍처에서의 배치, 시큐리티, 비동기 이벤트 처리는 어떻게 하나요?
0
168
2
어댑터에서 도메인에 직접 의존하는 경우에 대해
0
159
2
Member 도메인이 PasswordEncoder를 받는 구조 질문 있습니다.
0
136
2
MemberService와 EmailSender 책임 분리에 대한 질문
0
121
2
NonNullApi를 NullMarked로 대체하라고 합니다.
0
155
2
39. 문서와 코드 다듬기 updateInfo 테스트 질문 있습니다.
0
92
2
Repository Adapter 설계에 대해 피드백을 부탁드립니다
0
121
2
헥사고날 part2 강의 출시 예정일 문의 드립니다.
0
280
2
PT 문의사항
0
114
1
초기 어플리케이션 구동 시 compose.yml 파싱 오류
0
164
2
애플리케이션의 JPA 리턴과 도메인 모델
0
141
2
애그리거트 루트의 하위 도메인들의 depth가 깊어질 때 문의
0
153
2
페이징 처리를 해야한다면 어떻게 해야할까요?
0
209
2
애그리거트의 repository
0
132
2
Domain Expert가 정확히 어떤 역할을 하는 사람인가요?
0
259
1
회원 애플리케이션 서비스 테스트 (1)
0
118
2
정적 팩토리 메서드 관련 질문드립니다!
0
116
2
spotbug + @NonNullApi 로만 Null 방어가 될까요?
0
140
2
required 포트에 관해서
0
99
2
혹시 다음 편은 언제쯤 오픈할까요?
0
179
2
서비스 단위 테스트 코드 작성
0
107
2





