2017-09-19 19 views
0

동료와 나는 단위 테스트에 사용 된 XML 조각이 테스트 파일에 있어야하는지 아니면 외부화되어야하는지에 대해 흥미로운 토론을했습니다.유닛 테스트에서 XML 조각을 언제 외부화해야합니까?

일부 테스트에서 우리는 입력으로 사용되는 완전한 XML 파일을 가지고있는 반면, 우리는 조각을 사용하여 처리의 일부를 테스트합니다. 단편은 길이가 5 줄 더 많거나 적은 조각 일 수 있습니다.

제 동료는 본질적으로 XML에 의존하는 테스트 코드와 나란히 XML을 유지하는 것이 유리하다고 주장했습니다. 필자는 개인적으로 두 가지 주요 사항에 반대합니다. 소스 코드에 XML을 포함시키는 결과 (어색한 형식, 잠재적 인 개행 문제, 문자 이탈 등)와 XML의 많은 양의 영향이 소스 파일에 있습니다.

소스 제어에서 수직 사용을 최소화하는 이점에 대한 구체적인 연구가 있는지 또는 의견을 기반으로 한 접근 방식이 아니라 강력한 접근 방식이 있는지 궁금합니다. 나는 IDE 사용자 (IntelliJ)가 무겁기 때문에 고려하지 않은 CLI 사용자를위한 문제가있을 수 있습니까?

답변

1

하드 규칙은 없지만 Java에서 원시 문자열이 없으면 모양이 엉망입니다. 반면 XML 파싱을 실제로 테스트하지 않는 한 회귀 및 통합 테스트에만 외부 XML 파일을 사용하고 다른 모든 사용 사례에는 일반 Java 코드 (빌더 포함 또는 제외)를 사용합니다. 테스트 케이스간에 재사용하는 것이 더 쉽고 리팩토링의 경우 수정이 덜 필요합니다. IDE는 코드에서 필요한 변경을 수행하지만 XML 파일/문자열에서는 수행하지 않습니다.