성질을 검사한다는 뜻
예시 기반 검사는 특정 입력에서 기대한 결과가 나오는지 확인한다. ScalaCheck는 프로그램이 지켜야 할 성질을 기술하고 생성한 입력에 적용한다. 검사가 실패하면 규칙을 깨뜨린 인자를 살펴볼 수 있다. 이때 코드의 결함뿐 아니라 잘못 작성한 성질이나 빠진 전제도 원인이 될 수 있다.
생성 규칙과 표본
검사의 가치는 입력이 얼마나 다양하고 적절한지에 영향을 받는다. 실제 도메인의 유효한 범위를 표현하면서 경계 사례도 포함하도록 설계한다. 표본을 많이 확인했더라도 모든 입력의 정확성을 증명한 것은 아니다. 성질이 검사 대상의 구현을 그대로 반복하면 같은 실수를 공유할 수 있어 독립적인 기대를 정의하는 것이 중요하다.
기존 검사와 결합하기
sbt와 함께 실행하거나 내장 실행기로 독립 실행할 수 있다. ScalaTest 등 테스트 프레임워크와 결합하는 방식도 제공한다. 생성 검사와 손으로 고른 회귀 검사는 서로 보완한다. 발견한 문제는 실패 입력과 실행 조건을 남겨 다시 확인할 수 있게 한다. 라이브러리와 스칼라 계열의 호환성을 맞추고 통과 횟수만으로 검사 범위를 판단하지 않는다.