Introduction to Testing
テストスイートを実行して、すべてが期待通りに動作していることを確認しましょう(開発サーバを起動したまま、新しいターミナルウィンドウでこれを開始することができます):
yarn rw test
test
コマンドは永続的なプロセスを起動します。このプロセスはファイルの変更を監視し、変更されたファイルに関連するテストを自動的に実行します(コンポーネント または そのテストが変更されたらテスト実行がトリガーされます)。
スイートを開始したばかりで、まだ何もファイルを変更していないので、実際には何もテストが実行されないかもしれません。
a
を押して全ての( all )テストを実行するように指示すると、次のようになるはずです:
Intermission の時に example リポジトリをクローンし、この章のStorybookチュートリアルに沿って進めていれば、テスト実行が終了し、次のような表示になるはずです:
もし、チュートリアルの最初の部分のコードベースをそのまま使用することにした場合、次のようなエラーが発生します。
yarn rw test
Error: Get config: Schema Parsing P1012
error: Error validating datasource `db`: the URL must start with the protocol `postgresql://` or `postgres://`.
--> schema.prisma:3
|
2 | provider = "postgresql"
3 | url = env("DATABASE_URL")
|
Validation Error Count: 1
error Command failed with exit code 1.
このエラーを解消してテストスイートを実行するためには、 .env
ファイルに以下を追記してください:
TEST_DATABASE_URL=<the same url as DATABASE_URL>
出力下部のサマリーには、失敗したテストが1つあることが示されていることに注意してください。もし興味があれば、ターミナルを上にスクロールして、失敗したテストの詳細を見ることができます。 その失敗したテストもさっと見てみましょう。
1章から4章まで育てた自分のリポジトリでここまで続けた方は、ここで他の失敗が起きるかもしれませんし、全く起きないかもしれません:私たちは、生成したページ、コンポーネント、セルに多くの変更を加えましたが、加えた変更を反映させるためにテストを更新しませんでした(これが example repo から始めるべきもうひとつり理由です!)。
変更されたファイルに対してのみテストが実行されるデフォルトのモードに戻るには、今すぐ o
( only )を押してください(または、一度終了して yarn rw test
を再実行してください)。
私たちが目指すのは、左の列がすべて緑で、テストに失敗がないことです。実際、ベストプラクティスでは、ローカルでテストスイートをパスしない限り、コードをリポジトリにコミットすべきではありません。しかし、誰もがこのポリシーを厳守しているわけではありません... <ゲホッゲホッ>
テストに不慣れなあなたには Testing という素晴らしいドキュメントがあります。特に Terminology と Redwood and Testing のセクションは絶対に読んでおくべきです。とりあえず、次のセクションに進んで、最後に失敗したテストを合格させるための私たちのアプローチについて説明します。