유스 케이스가 간단합니다 : @Test 및 사용자 정의 주석 (@Mine이라고 부름)으로 주석이 지정된 JUnit 테스트의 각 메소드 앞에 보일러 플레이트 코드를 실행하고 싶습니다.@RunWith 또는 AOP를 사용하지 않고 각 JUnit @Test 메소드 앞에 코드를 개별적으로 실행하는 방법은 무엇입니까?
나는 다음과 같은 방법 (괄호 안의 설명) 사용하지 않으:
- @RunWith을 (내 테스트는 이미이 주석을 사용하지 않을 수있다, 그래서 내가 할 수 있다고 가정 할 수 없다
- AOP (I는 AspectJ를 같은 타사 라이브러리) 나는이 ONL 반사와 나 잎 추측
에 대한 종속성을 만들 수 없습니다) 내 자신의 주자를 사용하는 y, 그것은 나에 의해 멋지다. @Before를 Thread.getCurrentThread() 등을 통해 현재의 메쏘드를 얻는 것과 함께 사용하는 것으로 생각했지만, 어쨌든이 방법은 보일러 플레이트 코드를 다시 반사시켜야하기 때문에이 솔루션이 조금 더러운 것입니다. 불필요한 코드는 피하는 것이 첫 번째 목표였습니다).
다른 아이디어가 있습니까?
@Before를 사용할 수없는 이유를 모르겠습니다. –
Test에서 주석이 달린 각 메서드 앞에 Before가 실행되기 때문에 Before. 내 예상되는 행동이 다릅니다. 내 사용자 지정 코드를 Mine 주석으로 표시된 메서드에서 실행하고 싶습니다. 다른 주석에 의존 할 수 없습니다. –
@Before는 각각의 모든 메서드보다 먼저 실행됩니다. –