
OpenAPI 엔드포인트를 위한 자동화된 REST API 퍼저 및 네거티브 테스팅 도구입니다. 코딩 노력 없이 수천 개의 자가 치유 테스트를 생성, 실행 및 보고하며, 경계 및 보안 시나리오를 포괄합니다.
CATS 문서는 https://endava.github.io/cats/에서 확인할 수 있습니다.
REST API 퍼저 및 부정 테스트 도구입니다. 코딩 없이 수천 개의 자가 치유 API 테스트를 몇 분 안에 실행하세요!
시간이 부족하신가요? 1분 퀵 스타트 가이드를 확인하세요!
CATS (Contract API Testing and Security)는 간단하고 최소한의 구문과 평탄한 학습 곡선을 통해 코딩 없이 수천 개의 API 테스트를 몇 분 안에 생성할 수 있게 해줍니다. 모든 테스트는 100개 이상의 Fuzzer로 구성된 사전 정의된 세트를 기반으로 자동 생성, 실행 및 보고됩니다. Fuzzer는 완전히 무작위적인 대형 Unicode 값부터 요청 데이터 유형 및 제약 조건에 기반한 잘 구성된 컨텍스트 의존적 값에 이르기까지 다양한 경계 테스트 및 부정 시나리오를 다룹니다. 또한 CATS가 동적으로 요청 페이로드를 생성한다는 점을 활용하여 간단한 종단 간 기능 테스트를 작성할 수 있습니다.
다음은 CATS 사용 방법에 대한 단계별 가이드가 포함된 문서 목록입니다:
> brew tap endava/tap
> brew install cats
CATS는 실행 가능한 JAR 또는 네이티브 바이너리로 제공됩니다. 네이티브 바이너리는 Java가 설치되어 있을 필요가 없습니다.
운영 체제에 맞는 네이티브 바이너리를 다운로드한 후, PATH에 추가하여 다른 명령줄 도구처럼 실행할 수 있습니다:
sudo cp cats /usr/local/bin/cats
자동 완성을 사용하려면 cats_autocomplete 스크립트를 다운로드한 후 다음을 실행하세요:
source cats_autocomplete
영구적인 자동 완성을 원하시면 위의 줄을 .zshrc 또는 .bashrc에 추가하되, cats_autocomplete 스크립트의 전체 경로를 입력해야 합니다.
대체 설정은 cats_autocomplete 소스를 확인할 수도 있습니다.
Windows용 네이티브 바이너리는 없지만 uberjar 버전을 사용할 수 있습니다. 이를 위해서는 Java 25+가 설치되어 있어야 합니다.
java -jar cats.jar로 실행할 수 있습니다.
최신 버전을 다운로드하려면 릴리스 페이지로 이동하세요: https://github.com/Endava/cats/releases.
로컬 환경에서 CATS를 소스에서 빌드할 수 있습니다. Java 25가 필요합니다. Maven은 이미 번들되어 있습니다.
첫 번째 빌드를 실행하기 전에
./mvnw clean을 먼저 실행하세요. CATS는 OKHttp의 포크를 사용하며, 이는 로컬에5.X.X-CATS버전으로 설치됩니다. 따라서 공식 버전을 덮어쓰지 않아도 됩니다.
다음 Maven 명령어를 사용하여 프로젝트를 uberjar로 빌드할 수 있습니다:
./mvnw package -Dquarkus.package.type=uber-jar
그러면 target 폴더에 cats-runner.jar 파일이 생성됩니다. 이를 java -jar cats-runner.jar ...로 실행할 수 있습니다.
GraalVM Java 버전을 사용하여 네이티브 이미지를 빌드할 수도 있습니다.
./mvnw package -Pnative
단위 테스트를 실행하는 동안 일부 error 로그 메시지가 표시될 수 있습니다. 이는 Fuzzer의 부정 시나리오를 테스트하는 과정에서 예상되는 동작입니다.
CONTRIBUTING.md를 참조하세요.