스프링 기반 단위 테스트에 사용할 두 개의 프로필을 활성화하는 메타 주석 @EmbeddedMongoDBUnitTest를 만들었습니다. 기본 설정이 작동합니다메타 주석과 테스트 클래스의 @ActiveProfiles가 작동하지 않습니다.
@Documented
@Inherited
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.TYPE)
@ActiveProfiles({"embeddedMongoDB", "embeddedMongoDBUnitTest"})
public @interface EmbeddedMongoDBUnitTest {
}
@RunWith(SpringJUnit4ClassRunner.class)
@EmbeddedMongoDBUnitTest
@ContextConfiguration(...)
public class WorkingTest {
...
}
을 이제 테스트 클래스 자체에 대한 또 다른 @ActiveProfiles 주석과 다른 프로파일을 활성화하려고 할 때, @EmbeddedMongoDBUnitTest의 프로파일이 더 이상 활성화되지 않습니다
@RunWith(SpringJUnit4ClassRunner.class)
@EmbeddedMongoDBUnitTest
@ActiveProfiles({"h2IntegrationTests"})
@ContextConfiguration(...)
public class NotWorkingTest {
...
}
이 있습니까 이것이 작동하지 않는 이유 또는 이것이 스프링 테스트 코드의 버그입니까?
감사합니다. 이것이 버그가 아니라면, 여기에 디자인에 의문을 제기하고 있습니다. 스프링 프레임 워크가 첫 번째 Annotation만을 검색한다는 것은 사실 일지 모르지만,이 경우에는 모든 @ActiveProfiles 주석이 실제로 검색 될 것으로 예상됩니다. 클래스 상속을 지원하는 경우. – James
James, http://jira.spring.io에서 이러한 기능을 요청할 수있는 JIRA 문제를 자유롭게 작성해 주시면 고려해 보겠습니다. –
@SamBrannen이 문제와 관련하여 JIRA 티켓이 있습니까? 나는 아직 그것을 찾을 수 없었다. – Anton