#19 Dartで学ぶテスト(単体テスト)の基本
Dartで関数を書いた後、それが正しく動くかをprintで確認するだけで済ませていませんか?この記事では、Dartで書いたコードを自動でチェックする「テスト」の基本を解説します。
なぜテストを書くのか
コードを修正するたびに、関連する処理が壊れていないかを手作業で確認するのは大変です。テストを用意しておけば、コマンド一つで動作確認ができ、安心してコードを直せるようになります。特にFlutterアプリ開発では、画面を毎回操作して確認する手間を大きく減らせます。
test パッケージを使ったテストの書き方
Dartでは標準的なtestパッケージがよく使われます。pubspec.yamlのdev_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という専用のテストの仕組みもあるので、慣れてきたらあわせて調べてみるとよいでしょう。
まとめ
テストは「正しく動くことを保証する仕組み」であり、安心してコードを修正するための土台になります。testとexpectから始めて、Null安全を意識したテストにも挑戦してみてください。
関連記事
本ページはプロモーションを含みます。
参考書籍(PR)
Dartをもっと学びたい方には「ゼロから学ぶFlutterアプリ開発」がおすすめです。
コメント
コメントを投稿