이 대량 테스트의 대부분은 구아바 컬렉션 구현을위한 것입니다. 그들은 컬렉션 인터페이스를 철저히 테스트하는 일반 테스트를 작성했으며 이는 구현마다 스위트를 생성합니다. 예를 들어,라는 클래스를 참조하십시오 CollectionAddAllTester
, ListIndexOfTester
.
이것은 모두 Guava의 일부로 제공되는 testlib라는 라이브러리에 의해 뒷받침됩니다. 이것은 매우 일반적인 것입니다. 컬렉션뿐만 아니라 모든 인터페이스에 대한 일반 테스트 작성을 지원합니다. Feature
가능한 구현을 지정 하고 테스트 할 수 있습니다 (예 : 세트를 수정할 수없는 경우와 다른 결과를 기대할 수 있음 set.add()
). 테스트를 실행할 때 구현이 지원하는 기능을 지정합니다.
4가 아닌 JUnit 3을 기반으로합니다. 일반적으로 클래스 TestCase
라는 이름의 메소드로 확장되는 클래스가 testSomething()
있으며 JUnit 은이를 반사적으로 실행합니다. testlib 라이브러리는 이러한 테스트를 실행하여 수명주기를 다음과 같이 표시합니다.
- 테스트하려는 각 구현에 대해
- 각 (적용 가능한) 테스트 방법
TestCase
인스턴스 만들기
- 초기화
TestSubjectGenerator
– 이것은 실제로 테스트 주제를 작성하는 곳까지 확장하는 testlib 인터페이스입니다.
- 테스트 방법을 신중하게 실행하십시오. 이 방법 중에는
getSubjectGenerator()
시험 대상에게 접근 할 수 있습니다
키 비트는 특정 테스트 주제를 일반 테스트 케이스에 주입 할 수있는 추가 초기화 단계입니다.
나는 글 쓴 자신의 인터페이스에 대한 testlib 생성 스위트를 작성하는 방법을.
(또한 sqa 사이트 에 동일한 질문에 게시되었습니다 .)