有没有办法在 Flutter 单元测试中测试 AppLifecycleState 的变化?
Is there a way to test an AppLifecycleState change in a Flutter unit test?
当我的应用移至后台时 (AppLifecycleState.paused),我的应用会将用户首选项写入本地文件,我想为此行为编写一个测试。
有没有办法在单元测试中模仿这个?或者这是需要作为集成测试完成的事情吗?
您可以调用 binding.handleAppLifecycleStateChanged
在单元测试中伪造应用程序进出前台。
tester.binding.handleAppLifecycleStateChanged
绝对是正确的测试方法。
例如:主页上监听应用程序生命周期的 Statefull 小部件
@override
void didChangeAppLifecycleState(AppLifecycleState state) {
if (state == AppLifecycleState.paused) {
pushLoginPage(context);
}
}
如果你想测试这个,你必须先paused
,然后resumed
以确保Flutter导航。
当我的应用移至后台时 (AppLifecycleState.paused),我的应用会将用户首选项写入本地文件,我想为此行为编写一个测试。
有没有办法在单元测试中模仿这个?或者这是需要作为集成测试完成的事情吗?
您可以调用 binding.handleAppLifecycleStateChanged
在单元测试中伪造应用程序进出前台。
tester.binding.handleAppLifecycleStateChanged
绝对是正确的测试方法。
例如:主页上监听应用程序生命周期的 Statefull 小部件
@override
void didChangeAppLifecycleState(AppLifecycleState state) {
if (state == AppLifecycleState.paused) {
pushLoginPage(context);
}
}
如果你想测试这个,你必须先paused
,然后resumed
以确保Flutter导航。