3

当应用程序移动到后台(AppLifecycleState.paused)时,我的应用程序将用户首选项写入本地文件,我想为此行为编写一个测试。

有没有办法在单元测试中模仿这一点?或者这是否需要作为集成测试来完成?

4

2 回答 2

7

您可以在单元测试中调用binding.handleAppLifecycleStateChanged以伪造应用程序进出前台。

于 2017-03-17T23:04:54.000 回答
3

tester.binding.handleAppLifecycleStateChanged绝对是测试它的正确方法。

例如:主页上的 Statefull 小部件,用于监听应用程序生命周期

  @override
  void didChangeAppLifecycleState(AppLifecycleState state) {
    if (state == AppLifecycleState.paused) {
      pushLoginPage(context);
    }
  }

如果要对此进行测试,则必须paused先进行,然后再resumed确保 Flutter 导航。

于 2021-05-14T07:31:51.717 回答