
cats cats-14.0.0
OpenAPIエンドポイント向けの自動REST APIファザーおよびネガティブテストツール。コーディング不要で数千の自己修復テストを生成、実行、レポートし、境界やセキュリティのシナリオをカバーします。
CATSのドキュメントは https://endava.github.io/cats/ で入手可能です
REST APIファズザー兼ネガティブテストツール。コーディング不要で数分のうちに数千の自己修復APIテストを実行できます!
- 包括的: テストは多数のシナリオに基づいて自動生成され、すべてのフィールドとヘッダーをカバーします
- インテリジェント: テストはデータ型と制約に基づいて生成されます。各ファズザーはテスト対象のシナリオに応じた特定の期待値を持ちます
- 高度に設定可能: 高いカスタマイズ性:特定のファズザー、HTTPレスポンスコード、HTTPメソッド、リクエストパスをフィルタリングしたり、ビジネスコンテキストを提供したり、さらに多くのことが可能
- 自己修復: テストが生成されるため、OpenAPI仕様の変更は自動的に検出されます
- 習得が簡単: 学習曲線が平坦で、直感的な設定と構文
- 高速: テストの作成、実行、レポート作成が自動化され、数分で数千のシナリオをカバー
時間がない?1分間クイックスタートガイドをご覧ください!
概要
シンプルで最小限の構文と平坦な学習曲線により、CATS(Contract API Testing and Security)は、コーディング不要で数分以内に数千のAPIテストを生成できます。 すべてのテストは、事前定義された100以上のファズザーセットに基づいて自動生成、実行、報告されます。 ファズザーは、完全にランダムな大きなUnicode値から、リクエストデータ型と制約に基づくコンテキスト依存の適切に作成された値まで、幅広い境界テストとネガティブシナリオをカバーしています。 さらに、CATSがリクエストペイロードを動的に生成することを利用して、単純なエンドツーエンドの機能テストを作成することもできます。
HTMLレポート
コマンドライン
CATSの使い方に関するチュートリアル
以下は、CATSの使用手順をステップバイステップで説明した記事のリストです:
CATSが見つけたバグの一部
- https://github.com/hashicorp/vault/issues/13274 | https://github.com/hashicorp/vault/issues/13273
- https://github.com/hashicorp/vault/issues/13225 | https://github.com/hashicorp/vault/issues/13232
- https://github.com/go-gitea/gitea/issues/19397 | https://github.com/go-gitea/gitea/issues/19398
- https://github.com/go-gitea/gitea/issues/19399
インストール
Homebrew
> brew tap endava/tap
> brew install cats
手動
CATSは実行可能JARとネイティブバイナリの両方としてバンドルされています。ネイティブバイナリにはJavaは必要ありません。
お使いのOSのネイティブバイナリをダウンロード後、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ログメッセージが表示される場合があります。これらはファズザーのネガティブシナリオをテストするための期待された動作です。
貢献
CONTRIBUTING.md を参照してください。