2011-11-28 4 views
0

그루비로 테스트 메소드를 생성하고 싶습니다 (데이터 세트 기준). JUnit을 사용하고 직접 생성 한 각 메소드에 @Test 주석을 추가하고 싶습니다.생성 된 groovy 메소드에 동적으로 주석을 추가합니다.

@BeforeClass 
public static void addAutoDetectPluginsTest() { 
    AutoDetectPluginsTest.metaClass."test plugin-01" = { -> println("plugin-01")} 
} 

방법 test plugin-01에 주석 @Test를 추가 할 수있는 방법은 무엇입니까 :

지금까지 나는이 코드가?

답변

2

메타 클래스를 사용한 접근 방식이 작동하지 않습니다. Groovy의 메타 클래스 시스템에서 수행 한 작업은 반영에 영향을주지 않습니다. JUnit은 리플렉션을 사용하여 이러한 주석을 찾습니다. 따라서 그것은 작동하지 않습니다. 예를 들어 에이전트를 사용하는 경우와 같이로드 할 때 클래스의 바이트 코드를 다시 작성해야 할 것입니다. 그러나 나는 당신이 그렇게 멀리 가고 싶지 않다고 생각합니다.

관련 문제