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)と一緒に使用される可能性があります。
