当应用程序移动到后台时,我的应用程序将用户首选项写入本地文件(AppLifecycleState.paused),并且我想为此行为编写测试。
有没有办法在单元测试中模仿这个?或者这是否需要作为集成测试来完成?
答案 0 :(得分:2)
您可以在单元测试中调用binding.handleAppLifecycleStateChanged
来伪造进出前台的应用。
答案 1 :(得分:0)
tester.binding.handleAppLifecycleStateChanged
绝对是测试它的正确方法。
例如:主页上的 Statefull 小部件,用于监听应用生命周期
@override
void didChangeAppLifecycleState(AppLifecycleState state) {
if (state == AppLifecycleState.paused) {
pushLoginPage(context);
}
}
如果你想测试这个,你必须先 paused
,然后 resumed
以确保 Flutter 导航。