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