다양한 메타 데이터로 테스트 사례 메서드를 연결하는 데 도움이되는 주석을 작성하려고합니다. 지금까지의 내 주석에는 BugFix, UseCase 및 Requirement가 포함됩니다. 최종 목표는 개별 버그 수정, 사용 사례 및 요구 사항과 관련된 테스트 사례를 표시하는 주석 프로세서를 작성하는 것입니다.여러 enum 유형을 사용하여 주석을 작성하는 방법은 무엇입니까?
난 그냥 내 자신의 프로젝트에 이것을 구현했을 때, 나는 각 테스트 연관 카테고리에 대한 내 프로젝트에 맞는 enum을 만들었다. 예를 들어, ProjectUseCase 열거 형을 가지고 있는데,이를 테스트 메소드의 UseCase 주석에 값으로 전달할 수 있습니다. 이를 통해 추가 사용 사례를 추가하거나 단일 장소에서 사용 사례를 쉽게 수정할 수 있습니다.
이제이 코드를 내 개발자가 다른 개발자에게 제공하고 싶습니다. 물론 다른 유스 케이스, 요구 사항 및 버그 수정을 통해 다른 프로젝트를 진행할 것입니다.
가 여기에 내가 실행 해요 문제입니다
열거을 확장 할 수 없습니다- , 그래서 다른 사람들이 자신의 프로젝트에 대한 확장 할 수있는 기본 유스 케이스 열거 할 수 없습니다.
- 주석 속성의 값은 상수 여야합니다. 이렇게하면 내 열거 형에서 인터페이스 마커 (TestAssociation)를 사용하고 내 주석 값에 TestAssociation 인터페이스를 사용할 수 없습니다. 또한 이것은 내 주석에서 String 값을 사용하지 못하도록하고 @UseCase (ProjectUseCase.GENERAL.name())와 같이 주석을 사용할 때 열거 형 이름을 전달하지 못하게합니다.
내가 알 수있는 바로는, 이것은 값에 원시 문자열을 사용하여 유형 안전성과 신속하게 리팩토링 할 수있는 능력을 박탈합니다. 열거 형 대신에 상수 문자열 클래스를 사용하는 것이 모든 개발자가 자신의 것을 사용할 수 있기 때문에 이것을 처리하는 가장 좋은 방법 인 것 같습니다.
내가 생각할 수있는 유일한 다른 점은 Enum 클래스 (또는 상수 String 클래스)를 참조하고 사용자가 구현할 수 있도록 클래스를 병에 포함시키지 않는 것입니다.
제안 사항이나 해결 방법은 있습니까?
비슷한 기능을 이미 제공하고있는 프로젝트가 있는지 알고 싶습니다.
도 참조하십시오. http://stackoverflow.com/questions/1037531/is-there-a-way-to-declare-an-annotation-attribute-for-any-enum –