Files
llm-wiki/raw/interviews/gradle-sample-off-test-classpath-isolation.md

1.5 KiB

title, source_type, status, tags, created
title source_type status tags created
Gradle sample-off test classpath isolation interview raw
gradle
testing
clean-architecture
sample-fixture
2026-06-25

Gradle sample-off test classpath isolation

Parent

Question

템플릿 저장소가 sample fixture 모듈을 유지해야 하지만 production/core 계약은 sample 없이도 검증되어야 한다. Gradle 멀티모듈에서 이를 어떻게 설계할 수 있는가?

Expected answer

  • sample module은 production dependency가 아니라 fixture/test dependency로 둔다.
  • 일반 test는 sample-on 축으로 유지한다.
  • 별도 sampleOffTest source set/task를 만들어 같은 core contract test source를 실행하되 sample-portfolio dependency를 classpath에서 제외한다.
  • sample을 직접 import하던 core test는 제거하거나 sample module 소유 테스트로 이동한다.
  • CI release gate에는 sample-on과 sample-off를 모두 포함한다.
  • ArchUnit 같은 bytecode 스캐너는 custom test output을 production output으로 오인하지 않도록 import option을 보강한다.

Follow-up probes

  • 왜 runtime profile이 아니라 build/test matrix인가?
  • Custom source set에서 dependency locking과 main output을 왜 별도로 확인해야 하는가?
  • sample 제거 후 빈 ArchUnit corpus는 실패로 볼지 정상으로 볼지 어떻게 결정하는가?
  • Hosted CI와 local verification의 증거 등급은 어떻게 구분하는가?