#19 Dartで学ぶテスト(単体テスト)の基本

Dartで関数を書いた後、それが正しく動くかをprintで確認するだけで済ませていませんか?この記事では、Dartで書いたコードを自動でチェックする「テスト」の基本を解説します。

なぜテストを書くのか

コードを修正するたびに、関連する処理が壊れていないかを手作業で確認するのは大変です。テストを用意しておけば、コマンド一つで動作確認ができ、安心してコードを直せるようになります。特にFlutterアプリ開発では、画面を毎回操作して確認する手間を大きく減らせます。

test パッケージを使ったテストの書き方

Dartでは標準的なtestパッケージがよく使われます。pubspec.yamldev_dependenciesに追加して導入します。

int add(int a, int b) { return a + b; }

import 'package:test/test.dart'; void main() { test('2と3を足すと5になる', () { expect(add(2, 3), equals(5)); }); }

test("名前", () { ... })という形でテストケースを書き、expect(実際の値, equals(期待値))という書き方で「等しいはず」を宣言します。ターミナルでdart testを実行すると結果が一覧表示されます。

異常系もテストしておく

正しい入力だけでなく、境界値(0やマイナスの値など)を渡した時の挙動もテストしておくと安心です。

test('0同士を足すと0になる', () { expect(add(0, 0), equals(0)); });

Dartならではの注意点

DartはNull安全という仕組みがあり、値が無いことを表すnullを許容する型(int?など)を扱う関数では、nullを渡した時の挙動もテストしておくと安心です。またFlutterアプリでは、画面の見た目を確認するwidget testという専用のテストの仕組みもあるので、慣れてきたらあわせて調べてみるとよいでしょう。

まとめ

テストは「正しく動くことを保証する仕組み」であり、安心してコードを修正するための土台になります。testexpectから始めて、Null安全を意識したテストにも挑戦してみてください。

関連記事


本ページはプロモーションを含みます。

参考書籍(PR)

Dartをもっと学びたい方には「ゼロから学ぶFlutterアプリ開発」がおすすめです。

コメント

このブログの人気の投稿

#11 Rustで学ぶエラーハンドリングの基本

#16 TypeScriptで学ぶ辞書型(マップ)の基本

#19 Goで学ぶテスト(単体テスト)の基本