如何在自动化测试中模拟 Flutter 状态恢复?
How do you simulate Flutter state restoration inside an automated test?
我有一个小部件,它使用状态恢复并在 restoreState
方法中执行一些额外的逻辑。我想测试这个逻辑,所以我想知道是否有一种方法可以从 Flutter 测试中触发状态恢复。
我可以使用“不保留活动”使用 Android 模拟器手动测试逻辑,这将在应用程序重新启动时触发 restoreState
,但我想以自动化方式进行测试。
这可以通过使用小部件测试(An Introduction to Widget testing—通过 Flutter)来实现。在自动化测试中,Flutter应用程序可以使用WidgetTester
class.
中的实例方法restartAndRestore()
强制重启并恢复其状态。
例如:
testWidgets('Description of the test', (WidgetTester tester) async {
await tester.pumpWidget(MyWidget());
// modify the state of the app
await tester.restartAndRestore(); // restoreState gets called here
// verify the custom logic in restoreState executed successfully
});
我有一个小部件,它使用状态恢复并在 restoreState
方法中执行一些额外的逻辑。我想测试这个逻辑,所以我想知道是否有一种方法可以从 Flutter 测试中触发状态恢复。
我可以使用“不保留活动”使用 Android 模拟器手动测试逻辑,这将在应用程序重新启动时触发 restoreState
,但我想以自动化方式进行测试。
这可以通过使用小部件测试(An Introduction to Widget testing—通过 Flutter)来实现。在自动化测试中,Flutter应用程序可以使用WidgetTester
class.
restartAndRestore()
强制重启并恢复其状态。
例如:
testWidgets('Description of the test', (WidgetTester tester) async {
await tester.pumpWidget(MyWidget());
// modify the state of the app
await tester.restartAndRestore(); // restoreState gets called here
// verify the custom logic in restoreState executed successfully
});