Storybook向けPercyとChromatic
PercyとChromaticをCIパイプラインに統合し、Storybookコンポーネントのビジュアルレビューを自動化します。
「Storybook向けPercyとChromatic」はCoddyKit上の無料CSS Academyレッスンです。 これはレッスン2/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはCSS Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 CSS Academyコースには全4レッスンが含まれています。
Percyの概要
Percyは、CIパイプラインと統合できるクラウドベースのVRTプラットフォームです。WebページやStorybookのストーリーのスクリーンショットを取得し、ベースラインをクラウドに保存して、Web UIから利用できるビジュアル差分レビューを生成します。Playwright、Cypress、Selenium、Storybookをサポートしています。
Chromaticの概要
Chromaticは、Storybook専用に構築されたVRTプラットフォームです。クラウドブラウザですべてのストーリーを取得し、ベースラインと比較して、差分レビュー用のUIを生成します。また、Chromaticはホスト型のコンポーネントドキュメントサイトとしてStorybookを公開できます。
Storybookとの統合
PercyとChromaticは、すべてのStorybookストーリーを自動的に検出してスナップショットを取得します。追加のテストコードは必要ありません。コンポーネントのストーリーを作成してCLIを実行するだけで、すべてのビジュアル状態が自動的にテストされます。そのため、既存のStorybookプロジェクトにもすばやく導入できます。
Percyのセットアップ
@percy/cliと@percy/storybookをインストールし、CIにPERCY_TOKEN環境変数を追加して、CIパイプラインにpercy storybook ./storybook-staticを追加します。Percyはすべてのストーリーのスナップショットを取得し、VRTのビルドをPercyダッシュボードに自動的に投稿します。
Chromaticのセットアップ
chromaticをインストールし、CIにCHROMATIC_PROJECT_TOKENを追加して、chromatic --project-token=...を実行します。初回の実行でベースラインが確立されます。以降の実行ではベースラインと比較し、レビュー用リンクをGitHub PRのチェックに投稿します。
レビューワークフロー
どちらのツールも、「X changes detected.」と表示するPRチェックを追加します。クリックすると、横並びまたはオーバーレイ形式の差分を表示するレビューUIが開きます。レビュアーは、意図した変更を承認して新しいベースラインを確立するか、意図しないリグレッションの修正を要求します。
VRTのカバレッジに使うStory args
Storybook args(controls)を使って、複数のストーリーバリエーションを作成します。Default、Loading、Error、Disabled、LongText、SmallViewportなどです。各バリエーションが個別のVRTスナップショットになるため、テストファイルを別々に作成しなくても状態を包括的にカバーできます。
ビューポートとテーマのテスト
ChromaticとPercyは、スナップショットごとに複数のビューポート幅をサポートしています。ストーリーまたは.storybook/preview.jsのグローバルなviewportsで設定します。各ビューポートと各テーマ(light/dark)でVRTを実行し、レスポンシブ表示とテーマのリグレッションを同時に検出します。
ベースラインの管理
メジャーバージョンを上げるときや、意図的にデザインを変更したときは、すべての変更を承認します。どちらのツールも一括承認をサポートしています。デザインシステムを大きく更新した後は、すべての差分を一度に承認すると、新しいスクリーンショットが今後の段階的な変更のベースラインになります。
VRTによるインタラクションテスト
Storybookのplay()関数(インタラクションテスト)とVRTを組み合わせます。play()でユーザー操作(ボタンのクリックやモーダルの表示など)をシミュレートし、その後VRTスナップショットで結果の状態を取得します。これにより、複雑なインタラクティブコンポーネントのビジュアル出力をテストできます。
コストとスナップショットの上限
PercyとChromaticはスナップショット単位で課金されます。数百のストーリーに加えて複数のビューポートやテーマを含む大規模なStorybookスイートでは、PRごとに数千のスナップショットが生成されます。使用量を監視し、ストーリーデコレーターを効率的に使い、ロジックのみを対象とするストーリーではVRTを省略することを検討してください。
理解度チェック
一般的なVRTツールと比べて、Chromaticが特にStorybookプロジェクトに適しているのはなぜですか。
概要
PercyとChromaticは、クラウドブラウザですべてのストーリーを検出してスナップショットを取得し、PRの差分レビューを生成し、ベースラインを管理することで、StorybookのVRTを自動化します。状態の網羅にstory argsを、インタラクションテストにplay()を組み合わせることで、コンポーネントライブラリに包括的なビジュアル品質保証を提供します。
よくある質問
「Storybook向けPercyとChromatic」レッスンは無料ですか?
はい。「Storybook向けPercyとChromatic」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、CSS Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 CSS Academyコースには全4レッスンが含まれています。
「Storybook向けPercyとChromatic」で何を学びますか?
PercyとChromaticをCIパイプラインに統合し、Storybookコンポーネントのビジュアルレビューを自動化します。 ブラウザで直接実行するハンズオンコードでCSS Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
CSS Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのCSS Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン2/4です。
「Storybook向けPercyとChromatic」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このCSS Academyレッスンでコードを書いて実行できますか?
はい。すべてのCSS Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- ビジュアルリグレッションテストの概念
- Storybook向けPercyとChromatic
- JestによるCSSユニットテスト
- アクセシビリティテスト: color-contrastとfocus