Flutter Driverとは
Flutterアプリのウィジェットをテストするために使用できるツールです。Flutter Driverは、Flutter DriverAPIを使用して、アプリのウィジェットを制御および検査できます。Flutter Driverを使用して、アプリのウィジェットが正しく動作し、予期したとおりにレイアウトされることを確認できます。
たとえば、ボタンをクリックしたときに何かが起こることを確認するためにボタンをテストする場合は、次のコードを使用できます。
import 'package:flutter_driver/flutter_driver.dart';
void main() {
FlutterDriver driver = await FlutterDriver.connect();
try {
// ボタンを検索します。
final Finder buttonFinder = find.byKey(Key('button'));
// ボタンをクリックします。
await driver.tap(buttonFinder);
// 何かが起こったことを確認します。
final Finder textFinder = find.byType('Text');
expect(await driver.getText(textFinder), 'Hello, world!');
} finally {
await driver.close();
}
}
Flutter Test
Flutterアプリのコード単位をテストするために使用できるツールです。Flutter Testは、Dartのテストフレームワークを使用して、アプリのコード単位をテストできます。Flutter Testを使用して、アプリのコード単位が正しく機能し、予期したとおりの結果を生成していることを確認できます。
たとえば、数値を加算する関数をテストする場合は、次のコードを使用できます。
import 'package:flutter_test/flutter_test.dart';
void main() {
test('adds two numbers', () {
final int a = 1;
final int b = 2;
final int expected = 3;
final int actual = add(a, b);
expect(actual, expected);
});
}
int add(int a, int b) {
return a + b;
}
Flutter Analyze
Flutterアプリのコード品質を分析するために使用できるツールです。Flutter Analyzeは、Flutter AnalyzeAPIを使用して、アプリのコードを分析できます。Flutter Analyzeを使用して、アプリのコードがクリーンであり、予期しないコードがないことを確認できます。
たとえば、コードに未使用の変数があるかどうかを確認する場合は、次のコードを使用できます。
import 'package:flutter_analyze/flutter_analyze.dart';
void main() {
final AnalyzeAnalyzeResult result = await analyze();
for (final AnalyzeAnalyzeIssue issue in result.issues) {
if (issue.type == AnalyzeAnalyzeIssueType.unused_local_variable) {
print(issue.location.file);
print(issue.location.line);
print(issue.location.column);
print(issue.message);
}
}
}