我有一个测试用例,我想要在测试期间模拟重启应用程序(因为我知道不可能关闭应用程序并重新打开它).然后,我只想判断是否存在某种状态.

我试着在巡逻应用程序接口中搜索,但什么也没找到.

推荐答案

在测试期间重新启动整个应用程序目前在Patrol中是不可能的.它被跟踪了here次.重启DART端也是不可能的,至少我不知道.不过,您可以做的是重新启动Ffltter窗口小部件树.

您可以通过再次附加根窗口小部件来实现这一点,例如再次调用runApp(),或者通过触发树中最顶层的窗口小部件的重建(例如更改其键).如果你的应用程序的状态在窗口小部件树中(如果你使用的是bloc,情况就是这样),它将被重置.

请注意,这并不是DART程序状态的"完全重启",而仅仅是Flutter 小工具树的"完全重启".如果您有一些全局可变状态,它将不会被重置,并且您可能会面临奇怪的问题.

Flutter相关问答推荐

如何在应用栏中将列置于中心

如何更改默认应用程序启动器/启动屏幕

SupabaseFlutter 集成问题:无法更新行

CMakeLists.txt处的CMake错误:3(项目)找不到指定的Visual Studio实例

Flutter 翼future 建造者不断开火和重建.它在每次重建时都会生成一个新的随机数--我如何防止这种情况?

摆动更改标记可轻敲文本按钮样式

在Dart中使用Riverpod代码生成时出现问题(addListener)

如何将 Flutter 项目迁移到具有多个插件的 Gradle 8?

如何在flutter中将所有单词的第一个字母大写

Flutter:我应该使用哪种应用内购买服务?

如何将 chrome web 模拟器添加到 vs code

如何建立最近的文件列表?

如何扫描来自给定链接或按钮的重定向中的所有 URL?

如何从 Firebase `get()` 获取 `DocumentReference`

Firestore:缓存和读取数据

Getx Flutter 在更新值时抛出空错误

如何获取 android 和 Ios (flutter) 的 CircularProgress 指示器?

在 Flutter 中,您什么时候应该更喜欢Widget继承而不是组合?

Flutter如何从左到右连续 Select 多个列表项而不跳过任何

使用 Chaquopy 插件后 Gradle Sync 无法正常工作