Flutter アプリの統合テストを新しい integration_test パッケージで作成しようとしています: https://github.com/flutter/flutter/tree/master/packages/integration_test#integration_test
次のような統合テストの複数のファイルがあります。
integration_test/
login_test.dart
logout_test.dart
run_all_test.dart
test_driver/
integration_test.dart
run_all_test.dart を使用して、ログインとログアウトのテストを順番に実行したい
run_all_test.dart スクリプトには次のものがあります。
void main() {
final binding = IntegrationTestWidgetsFlutterBinding.ensureInitialized() as
IntegrationTestWidgetsFlutterBinding;
binding.framePolicy = LiveTestWidgetsFlutterBindingFramePolicy.fullyLive;
app.main();
group('All tests', () {
loginTest();
logoutTest();
});
login_test.dart は次のようになります (logout_test.dart は同じです):
void main() {
loginTest();
}
Future<void> loginTest() async {
group('Login - ', (){
testWidgets("Login test", (WidgetTester tester) async {
await ...
});
});
}
これで、ログインは完全に機能し、完了するとログアウト テストが開始されますが、この時点で、アプリは「テスト開始 ..」というメッセージで待機し、失敗します。
古いパッケージでは、すべてが完全に機能し、1 つのテストと別のテストの間でアプリが再起動されませんでした。