ホームページ > ウェブフロントエンド > jsチュートリアル > Cypress run は人気のあるテスト フレームワークです

Cypress run は人気のあるテスト フレームワークです

DDD
リリース: 2025-01-02 16:28:40
オリジナル
170 人が閲覧しました

Cypress run is a popular testing framework
Cypress は、Web アプリケーションのエンドツーエンドのテストを簡素化する人気のテスト フレームワークです。 Cypress で使用するコア コマンドの 1 つは、[cypress run](https://keploy.io/blog/community/comprehensive-guide-to-running-tests-with-cypress) です。このコマンドを使用すると、ヘッドレス環境でテストを実行できるため、継続的な統合とテストのワークフローに最適です。この投稿では、cypress run コマンドを効果的に使用し、その可能性を最大限に引き出す方法を探っていきます。

プロジェクトでの Cypress のセットアップ

cypress run を使用する前に、まずプロジェクトに Cypress をインストールする必要があります。 Cypress をまだセットアップしていない場合は、簡単に始めることができます。次のコマンドを実行するだけです:

bash
Copy code
npm install cypress --save-dev
ログイン後にコピー
ログイン後にコピー

このコマンドは、Cypress を開発依存関係としてプロジェクトにインストールします。インストールしたら、npx cypress open を使用して Cypress を開いてテストの作成を開始できます。ただし、ヘッドレス ブラウザー (GUI なし) でテストを実行する場合は、cypress run コマンドを使用します。

「cypress run」によるテストの実行

cypress run コマンドは、ヘッドレス環境でテストを実行する最も簡単な方法です。すべてのテストを実行するには、次を実行するだけです:

bash
Copy code
npx cypress run
ログイン後にコピー
ログイン後にコピー

これにより、ヘッドレス ブラウザ (通常は Electron) を使用して、デフォルトで /cypress/integration フォルダーにあるすべてのテストが実行されます。テストはバックグラウンドで実行され、結果がターミナルに表示されます。

特定のテスト ファイルの実行

すべてのテストではなく、特定のテスト ファイルを実行したい場合があります。これは、特定の機能に取り組んだり、単一のテストをデバッグしたりする場合に特に便利です。 --spec フラグの後にテスト ファイルへのパスを指定することができます:

bash
Copy code
npx cypress run --spec cypress/integration/example.spec.js
ログイン後にコピー
ログイン後にコピー

このコマンドは、指定されたファイル内のテストのみを実行するため、反復を高速化できます。

テスト実行用のブラウザの選択

サイプレスは、Chrome、Firefox、Electron などのさまざまなブラウザをサポートしています。デフォルトでは、Cypress は Electron でテストを実行します。ただし、--browser フラグの後にブラウザ名を渡すことで、使用するブラウザを選択できます:

bash
Copy code
npx cypress run --browser chrome
ログイン後にコピー
ログイン後にコピー

このコマンドは Chrome でテストを実行します。 Firefox などの他のサポートされているブラウザを指定することもできます:

bash
Copy code
npx cypress run --browser firefox
ログイン後にコピー
ログイン後にコピー

この柔軟性により、アプリケーションがさまざまなブラウザ環境でテストされ、ブラウザ間の互換性が確保されます。

テスト結果の記録

サイプレスは、詳細なテスト結果を記録および表示できるサイプレス ダッシュボードと呼ばれる機能を提供します。テスト結果を記録するには、--record フラグを使用する必要があります:

bash
Copy code
npm install cypress --save-dev
ログイン後にコピー
ログイン後にコピー

--record フラグを使用すると、Cypress はテスト結果を Cypress ダッシュボードに自動的にアップロードし、テストのログ、スクリーンショット、ビデオを表示できます。

テストをダッシュ​​ボードのプロジェクトにリンクするには、Cypress ダッシュボード アカウントでプロジェクトを設定し、次のようにプロジェクトのレコード キーを指定する必要があります。

bash
Copy code
npx cypress run
ログイン後にコピー
ログイン後にコピー

テストを記録すると、テスト履歴を追跡し、失敗や不安定なテストについての洞察を得るのに役立ちます。

テストのグループ化と並列化

大規模なテスト スイートを扱う場合、すべてのテストを順番に実行すると時間がかかることがあります。 Cypress は、テストをグループ化して並列化する機能を提供し、複数のマシン間で同時に実行できるようにします。

--group フラグを使用してテストをグループ化できます。

bash
Copy code
npx cypress run --spec cypress/integration/example.spec.js
ログイン後にコピー
ログイン後にコピー

さらに、--Parallel フラグを使用してテストを並列実行して、実行を高速化することができます。

bash
Copy code
npx cypress run --browser chrome
ログイン後にコピー
ログイン後にコピー

テストを並列化すると、多数のテストの実行にかかる時間を大幅に短縮できます。これは継続的インテグレーション パイプラインにとって重要です。

環境変数の構成

Cypress では、環境変数を構成して、さまざまな環境に基づいてテストの動作を変更できます。 --env オプションを使用して環境変数を Cypress に渡すことができます:

bash
Copy code
npx cypress run --browser firefox
ログイン後にコピー
ログイン後にコピー

このコマンドは apiUrl 変数と env 変数を設定します。これらの変数には、Cypress.env('apiUrl') を使用してテスト内でアクセスできます。この機能は、テストの実行中に異なる環境 (ステージング、本番環境など) を切り替える必要がある場合に役立ちます。

テストの失敗と再試行の処理

場合によっては、タイミングの問題や外部依存関係により、テストが断続的に失敗することがあります。テストの信頼性を向上させるために、サイプレスでは失敗したテストを再試行するオプションを提供しています。

--retries フラグを使用して再試行の回数を指定できます。

bash
Copy code
npx cypress run --record
ログイン後にコピー

このコマンドは、失敗したテストを最大 2 回再試行します。これにより、不安定なテストの影響が軽減され、より安定したテスト結果が保証されます。

「cypress run」を CI/CD パイプラインに統合する

cypress run コマンドを継続的インテグレーションおよび継続的デリバリー (CI/CD) パイプラインに統合することは、テスト プロセスを自動化するために重要です。 Jenkins、CircleCI、GitHub Actions、GitLab CI などの一般的な CI ツールは、Cypress テストの実行をサポートしています。

ここでは、GitHub Actions を使用して Cypress テストを実行するための基本的な CI パイプラインを構成する方法の例を示します。

bash
Copy code
npx cypress run --record --key <your-dashboard-project-key>
ログイン後にコピー

この構成では、依存関係をインストールし、ヘッドレス ブラウザーで Cypress テストを実行します。また、テスト結果は Cypress ダッシュボードに記録されます。

結論

cypress run コマンドをマスターすると、開発者はテストを効率的に実行し、結果を記録し、複数の環境にわたってテストを拡張できるようになります。単一のテスト ファイルを実行する場合でも、何百ものテストを並列処理する場合でも、サイプレスはテスト ワークフローを合理化するために必要なツールを提供します。 cypress run を CI/CD パイプラインに組み込むことで、アプリケーションが常にテストされ、デプロイの準備が整っていることを確認できます。

以上がCypress run は人気のあるテスト フレームワークですの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:dev.to
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート