CypressコンポーネントテストとTypeScriptの手引き
CypressとTypeScriptでコンポーネントテストを設定する
-
テストフォルダのルートレベルに、
@axe-core/watcherパッケージとそのすべての依存関係をインストールします。npmまたはお好みのパッケージマネージャを使用します(例:yarnまたはpnpm)。npm install --save-dev @axe-core/watcher -
の中で
cypress.config.ts、cypressConfig()パッケージから@axe-core/watcher関数をインポートし、設定をそれでラップします。testingTypes配列を以下を含むように設定しますcomponent:import { defineConfig } from 'cypress'; import { cypressConfig } from '@axe-core/watcher/cypress/config'; const ACCESSIBILITY_API_KEY = process.env.ACCESSIBILITY_API_KEY const PROJECT_ID = process.env.PROJECT_ID export default defineConfig( cypressConfig({ axe: { apiKey: ACCESSIBILITY_API_KEY, projectId: PROJECT_ID, testingTypes: ['component'] }, // Your existing Cypress configuration code here component: { // Your component testing configuration // For example: // devServer: { // framework: 'react', // bundler: 'webpack', //}, }, }) );必ず環境で
ACCESSIBILITY_API_KEYとPROJECT_IDを設定し、自分のAPIキー(axeアカウントで見つかります、 **API KEYS** タブ)とプロジェクトID(プロジェクトを作成したときのこれらの指示の上部に表示されるか、 **プロジェクトの構成** を選択してプロジェクトページから利用可能です) **設定**の下にあります。 -
Cypressコンポーネントサポートファイル(一般的にcypress/support/component.tsと呼ばれる)で、
@axe-core/watcher/cypress/supportをインポートし、axeWatcherFlush()各テスト後にimport '@axe-core/watcher/cypress/support'; afterEach(() => { cy.axeWatcherFlush(); }); -
これで完了です。コンポーネントテストを実行し、結果を確認してください。次の点に注意してください:
@axe-core/watcherはChrome for TestingまたはChromiumでのみ実行でき、Cypressの実行モードでのみ使用すべきです。それは--headless=newまたは--headed(例えば、cypress run --headed --browser=chrome-for-testing --component)と一緒に使用される可能性があります。
