2014-06-16 2 views
0

JUnit을 설명하는 기사와 함께 Annotations을 설명하는 기사를 많이 보았습니다.하지만 실제로 두 사람이 실제로 어떻게 어울리는 지 설명하는 내용은 없습니다.@test 주석의 배경에는 어떤 현상이 있습니까?

주석 @test은 JUnit 테스트에 사용하려는 메소드 앞에 있지만 다른 사람이 백그라운드에서 진행중인 상황을 설명 할 수 있습니까?

주석을 유용한 Java 코드로 변환하는 방법은 무엇입니까? 어디서 그런 일이 일어나는가? 이처럼 나 자신을 어떻게 만들 수 있습니까?

답변

0

JUnit은 표준 리플렉션을 사용하여 메소드를 나열하고 그 중 하나에 JUnit 주석이 있는지 확인합니다. JUnit은 리플렉션을 사용하여이를 호출합니다.

JUnit의 소스 코드를 사용할 수 있으며 테스트 주자를위한 소스를 읽는 것이 좋습니다.

2

JUnit은 주석보다 먼저 생성되었습니다. 그때 모든 테스트 메소드는 접두어 test으로 호출해야합니다. 예를 들어

testX() 
testSomeStuff() 

등 등

또한 케이스 있던 모든 시험은 전혀 인자들로 시작할 정적 메소드를 추출하지 반사에 의해 실제 클래스를 검사 방법을 가지고 추상 클래스 TestCase 연장 될 test 그리고 그들을 실행 중입니다.

다음 JUnit4가 도착했습니다. TestCase 및 테스트 명명 규칙은 더 이상 사용되지 않습니다. 대신 테스트 러너와 주석이 도입되었습니다. 그러나 그 생각은 그대로 남아있었습니다. 테스트 러너는 @Test 주석을 사용하여 주석 된 모든 메소드를 추출한 테스트 사례 클래스를 검사하여 실행합니다. 테스트 러너는 테스트 사례 클래스에 적용 할 수있는 주석 @RunWith을 사용하여 플러그 가능합니다. 기본 테스트 러너는 JUnit4입니다.

관련 문제