Dart Academy · レッスン

group、setUp、tearDown

テストを整理し、fixture を共有します

レッスン 2/413 ステップ

「group、setUp、tearDown」はCoddyKit上の無料Dart Academyレッスンです。 これはレッスン2/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはDart Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Dart Academyコースには全4レッスンが含まれています。

テストはすぐに増える

1つの機能にも、すぐに多くのテストが必要になります。構成を考えないと、ファイルは平坦で見つけにくい一覧になってしまいます。整理すれば読みやすさを保てます。📚

groupを使う

groupは、関連するテストを1つのラベルの下にまとめます。出力はインデントされるため、テストスイートをアウトラインのように読めます。

group('Cart', () {
  test('starts empty', () { /* ... */ });
});

グループを入れ子にする

グループは入れ子にできます。テストランナーは名前をスペースで連結するため、失敗時にはカートに商品を追加するのように表示され、状況をすぐに把握できます。

繰り返すセットアップはノイズになる

すべてのテストで同じオブジェクトを作り直すと、その定型コードによって意図が隠れてしまいます。共有するセットアップは1か所にまとめます。

setUpを使う

setUpコールバックは、そのスコープ内の各テストの前に実行されます。これにより、すべてのテストが新しく同一の初期状態から開始できます。

late Cart cart;
setUp(() {
  cart = Cart();
});

毎回新しい状態にする

setUpは各テストの前に実行されるため、あるテストの状態が次のテストに漏れることはありません。分離によって結果の信頼性が保たれます。

tearDownを使う

tearDownコールバックは各テストの後に実行されます。ファイルやソケットを閉じたり、リソースを解放したりするのに適しています。

tearDown(() {
  cart.dispose();
});

スコープが重要

setUpとtearDownは、それらが置かれたgroupに適用され、入れ子になったグループにも適用されます。そのため、適切な場所に配置してください。

1回だけ実行する方法

グループ全体に対するセットアップを1回だけ行いたい場合は、setUpAllとtearDownAllを使います。コストが高く、共有可能なリソースに適しています。

setUpAll(() => startServer());
tearDownAll(() => stopServer());

実行順序

テストごとに、テストランナーはsetUpAllを1回実行し、その後setUp、テスト、tearDownを実行します。最後に、全体の終了時点でtearDownAllを実行します。

セットアップを適切に保つ

setUpには、共有でき、副作用のない準備だけを記述します。テスト固有の値は、分かりやすさのため各テストの中に置きます。

クイックチェック

setUpコールバックはいつ実行されますか?

まとめ

groupで整理し、setUpで毎回新しい状態を準備し、tearDownで各テストの後に後片付けを行いました。整ったテストスイートと信頼できる結果が得られます。🧹

無料で開始

AI チューターと学ぶ Dart — 無料

ブラウザでリアルコードを書いて実行し、24/7 の AI チューターから瞬時にサポートを受け、ウェブまたはアプリで続きから学習できます。

コース
30
レッスン
120

よくある質問

「group、setUp、tearDown」レッスンは無料ですか?

はい。「group、setUp、tearDown」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Dart Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Dart Academyコースには全4レッスンが含まれています。

「group、setUp、tearDown」で何を学びますか?

テストを整理し、fixture を共有します ブラウザで直接実行するハンズオンコードでDart Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

Dart Academyを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのDart Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン2/4です。

「group、setUp、tearDown」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このDart Academyレッスンでコードを書いて実行できますか?

はい。すべてのDart Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. 最初の test と expect
  2. group、setUp、tearDown
  3. 非同期コードと Stream のテスト
  4. Mock、Fake、カバレッジ
← Dart Academyに戻る