[Flutter] TESTコマンドを使ってみよう

Flutterには、アプリケーションのテストを自動化するための統合テストフレームワークが組み込まれています。このフレームワークは、Flutterのアプリケーションを自動的にテストし、アプリケーションの品質を向上させることができます。

“flutter test”コマンドは、Flutterの統合テストフレームワークを実行するためのコマンドです。このコマンドは、Flutterアプリケーションのテストを実行するために使用されます。以下に、”flutter test”コマンドを使用する方法について説明します。

目次

テストファイルの作成

まず、テストファイルを作成する必要があります。Flutterの統合テストフレームワークは、”test”ディレクトリにあるファイルを自動的に認識します。したがって、テストファイルを”test”ディレクトリに保存する必要があります。

例えば、”lib/main.dart”に対するテストファイルを作成する場合は、”test/main_test.dart”というファイル名でファイルを作成することができます。

テストの実行

次に、”flutter test”コマンドを使用してテストを実行します。このコマンドを実行すると、”test”ディレクトリにあるすべてのテストファイルが実行されます。

flutter test

テストを実行すると、テストの実行状況がターミナルに表示されます。テストが完了すると、テスト結果が表示されます。

テストコードの記述

テストファイルには、テストを記述するためのいくつかの関数があります。以下は、テストファイルで使用できる主な関数です。

  • test():単一のテストを記述します。
  • expect():値を検証するために使用されます。
  • setUp():各テストの前に実行されるセットアップコードを記述します。
  • tearDown():各テストの後に実行されるクリーンアップコードを記述します。

例えば、以下のようなコードでテストを記述できます。

class Counter {
  int _value = 0;

  int get value => _value;

  void increment() {
    _value++;
  }

  void decrement() {
    _value--;
  }
}
import 'package:flutter_test/flutter_test.dart';
import 'package:fluttertest/main.dart';

void main() {
  test('Counter value should be incremented', () {
    final counter = Counter();
    expect(counter.value, 0);
    counter.increment();
    expect(counter.value, 1);
    counter.decrement();
    expect(counter.value, 0);
  });
}

このテストでは、”Counter”クラスのインスタンスを作成し、increment()メソッドを呼び出してカウンターの値を増やし、expect()関数を使用して、カウンターの値が1になっていること、および、decrement()関数を使用して、カウンターの値が0になっていることを確認しています。

テストカバレッジの測定

–coverageオプションを付けてコマンド実行

flutter testコマンドは、テスト実行時にカバレッジ情報を収集することができます。カバレッジ情報は、コードのどの部分がテストされているかを示すために使用されます。 以下のコマンドを使用して、テストカバレッジ情報を収集できます。

flutter test --coverage

テストが実行され、カバレッジ情報が収集されると、”coverage”ディレクトリにlcov.infoファイルが出力されます。

htmlファイルを作成する

以下のコマンドを入力することで、lcov.infoファイルからhtmlファイルを作成します。

genhtml coverage/lcov.info -o coverage/html

上記コマンドはlcov.infoファイルをhtmlファイルに変換します。変換するためにはlcovをインストールしておく必要があります。(macの場合は、brew install lcovでインストール)

htmlファイルを表示する

上記コマンドを実行すると、coverage/htmlディレクトリ内にhtmlファイルが出力されます。以下のコマンドを実行することで、ブラウザを開きます。

open ./coverage/html/index.html

ブラウザでカバレッジレポートが開きます。レポートには、コードのどの部分がテストされているかを示す色付きのバーが表示されます。

まとめ

flutter testコマンドは、Flutterアプリケーションのテストを実行するために使用されます。テストを作成し、テストを実行して、テストカバレッジ情報を収集できます。テストを実行することで、アプリケーションの品質を向上させることができます。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次