2012-02-24 5 views
1

무시 된 모든 junits를 찾을 수있는 프로그램이 있습니까? 내 말은이에 의해 무시 된 junits를 찾기위한 프로그램

, 나는 모두가 무시받을 ignore_testFoo() 또는 xtestBar() 또는 xxtestBar1() 같은 방법 이름으로 @Ignore 및 테스트를 사용하는 단위 테스트를 본 그들은 때때로 발견하기가 매우 어렵다. 그 경우에는 grep을 할 수 있지만 그 상황을 자동으로 찾는 응용 프로그램이 있는지 궁금합니다.

나는 cobertura를 사용하여 junits에 대한 적용 범위를 확인하고 실행중인 메소드와 실행되지 않은 메소드를 확인하고 잘못된 유닛 테스트를 따로 따로 추출했습니다.

무언가를 해킹하지 않고이 정보를 얻을 수있는 프로그램이나 다른 방법이 있는지 궁금합니다.

답변

3

여기서 정적 분석 도구가 도움이 될 것입니다. Checkstyle은 적절한 선택입니다. modules의 긴 목록이 있으며, 최악의 경우 자신이 원하는 모듈을 쉽게 작성할 수 있습니다.

모듈을 찾거나 만들면 부적합한 코드를 찾기 위해 실행합니다. PMD

편집이 작업을 처리 할 수있는 좋은 선택이 보인다. 실제로는 set of JUnit rules이 이미 내장되어 있으며 규칙을 결합하거나 새 규칙을 쉽게 작성할 수 있습니다.

+0

최악의 경우 나는이 PMD 규칙 (http://pmd.sourceforge.net/rules/java/unusedcode.html#UnusedPrivateMethod)을 수정하여 public 메서드를 받아들이고 @Ignore 주석을 검색합니다. – Steve

+0

해당 링크를 게시 해 주셔서 감사합니다. PMD에 대해 들어 본 적이 없습니다. 흥미롭게도 JUnit에 대한 미리 작성된 규칙이 있습니다 (http://pmd.sourceforge.net/rules/java/junit.html). – Perception

+0

이러한 JUnit 규칙의 대부분은 JUnit 4가 아닌 JUnit 3에 적용됩니다. –

1

Java 테스트 파일의 grep에서 junit3을 사용하여 무시 된 테스트를 쉽게 감지 할 수 있어야합니다. 테스트와 괄호에 일치하지만 테스트로 시작하지 않는 메소드 이름을 가진 모든 라인을 찾으십시오. junit4를 들어

, 당신은 * 기본 하나를 확장하여 자신 만의 테스트 러너를 구현 무시 테스트 을 인쇄 할 수 * 테스트 클래스를로드하는 작은 응용 프로그램을 구축,의 인트로를 통해 선언 된 모든 방법을 얻을 무시하는 markedas을 인쇄 할 수 있습니다.

그런 도구가있을 수 있습니다. 아마도 일부 주자가 이미 할 수도 있지만 사실 실제로 필요하면 도구를 처음부터 사용하는 데 몇 시간이 걸릴 수 있습니다.