依次运行相同的颤振测试。1 次成功,1 次失败

Mar*_*oek 5 dart flutter flutter-test

我从创建 Flutter 测试开始,遇到了 2 个测试完全相同的问题,但只有 1 个测试成功。

要点: https://gist.github.com/Mooibroek/bd6c02e5b56e4b03409ee1839a2e0b23

第二个失败并出现以下错误:

The following TestFailure object was thrown running a test:
  Expected: exactly one matching node in the widget tree
  Actual: ?:<zero widgets with widget matching predicate (Closure: (dynamic) => bool) (ignoring
  offstage widgets)>
   Which: means none were found but one was expected

When the exception was thrown, this was the stack:
#4      main.<anonymous closure> (file:///Users/nicepants/Projects/flutter/generic_flutter/test/register_test.dart:38:5)
<asynchronous suspension>
#5      testWidgets.<anonymous closure>.<anonymous closure> (package:flutter_test/src/widget_tester.dart:108:25)
Run Code Online (Sandbox Code Playgroud)

第 38 行是我们断言是否找到按钮的行。我在 GIST 中添加了大部分相关代码,如果您需要更多,请告诉我。

之前的测试是否有可能留下一些隐藏状态?或者这不应该起作用。

Oma*_*att 0

我正在使用类似的设置,我只是复制了我的testWidgets(). 在测试中引用相同的 Widget 应该不会有任何问题,因为第二个testWidgets()Widget 在 上初始化了一个新的 MyApp tester.pumpWidget()。虽然我正在使用integration_testflutter driver启动我的测试。

测试应该在模拟器或物理设备上运行应用程序(如果您使用的是模拟器或物理设备)。检查第二个屏幕上显示的内容是否testWidgets()正确。点击要在模拟器屏幕上找到的预期小部件。这应该显示有关如何在测试中找到点击的小部件的日志。日志应该与此类似

测试日志