Back-end/Build (Gradle, Maven)
[Test Code, Gradle] 각 모듈에 Test Fixture를 공유하고 싶을 때
philo0407
2023. 12. 10. 19:22
소스 코드는 아래에 있습니다!
https://github.com/progress0407/E-Commerce-with-MSA-and-DDD
종종 멀티모듈 환경에서 테스트를 작성할때 이미 작성한 Test Fixture를 공유하고 싶을때가 있다
처음에는 아래처럼 단순히 testImplementation를 붙이면 공유가 가능하다고 생각했다
그렇게 해서는 되지가 않았다...
즉 위처럼 하면 안된다
이런 경우 test-fixture라는 plugin을 추가해서 해결할 수 있다
아래처럼 사용하면 된다
plugins {
id 'java-test-fixtures'
}
나 같은 경우 common/general이 test-fixture의 기능까지 함께 담당한다
그리고 해당 모듈이 가져야할 dependecny는 testFixturesImplementation로 정의한다
dependencies {
testFixturesImplementation 'io.rest-assured:rest-assured'
}
실제 예시
test-fixture의 기능이 필요한 다른 모듈에서는 아래처럼 정의한다
dependencies {
testImplementation testFixtures(project(':common:general'))
}
실제 예시
참고
https://docs.gradle.org/current/userguide/java_testing.html#sec:java_test_fixtures
https://toss.tech/article/how-to-manage-test-dependency-in-gradle