group、setUp、tearDown
テストを整理し、fixture を共有します
「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フィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- 最初の test と expect
- group、setUp、tearDown
- 非同期コードと Stream のテスト
- Mock、Fake、カバレッジ