问题标签 [widget-test-flutter]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
676 浏览

flutter - 单个文件中多个测试用例的 Flutter 集成测试失败

我有一个带有电子邮件和密码文本字段的简单登录页面。一个按钮用于登录,另一个用于注册。我尝试为登录页面编写集成测试。

当我执行测试用例时,它失败并出现以下错误:

运行测试时引发以下 ArgumentError:无效参数:类型为便利设施提供程序的对象/工厂已在 GetIt 中注册。

这是我的main.dart文件

我尝试了 amain_test.dart并添加configureInjection(Environment.test)但没有任何变化。我不确定如何解决该错误。app在进入新的测试用例之前,有没有办法清理或销毁它。如果我将两个测试用例合二为一,那么它可以毫无问题地工作。

这是configureInjection

我正在使用 get_it 和注入包进行依赖注入。

这是自动生成的 initGetIt

0 投票
1 回答
444 浏览

flutter - 在颤振测试中模拟悬停

我正在做一个颤振的网络项目,我有一个小部件我想写测试。这个小部件正在使用MouseRegion当它被用户悬停或不悬停时执行一些操作。

举个例子:

我可以编写一个小部件测试来测试我的容器是红色的:

但是如何模拟测试小部件中的悬停(以检查容器是否为蓝色)?

0 投票
2 回答
875 浏览

animation - Flutter Widget Test 等待动画

我有一个类似的小部件测试:

以及小部件的 on-tap 方法的以下实现:

我遇到的问题是,在animationController.forward()测试中调用该方法后,该setState部分未执行。我应该如何等待此方法正确完成?在应用程序运行时,这部分代码被正确调用。

似乎await tester.pump(new Duration(milliseconds: 3000));无法正常工作,动画的持续时间为 1500 毫秒,您可以看到泵的持续时间是双倍的。

0 投票
1 回答
414 浏览

flutter - Flutter Riverpod WidgetTest 不超过过去的加载状态

更新:以与我测试另一个消费者小部件相同的方式重写测试,它实际上可以工作,但它仍然不适用于我的测试,我无法理解为什么:(当前方法:

我正在尝试为 Listview Widget 编写一个小部件测试,但我从来没有超过“Asyncvalue”的加载状态。当我的测试中的状态并且它卡在加载中时。

我尝试像在 Riverpod 文档中那样进行测试,或者按照此处的说明进行测试:https ://codewithandrea.com/videos/flutter-state-management-riverpod/

但是我被卡住了:-/我们有 Loading() 小部件,我们对其进行测试以查看它是否消失,但它没有..

这是测试的代码:

错误信息是:

这是 UserExerciseList() 的相关部分

我还在我的测试中用流替换了 Future,也没有工作:-/ 非常感谢任何帮助!

非常感谢!

0 投票
1 回答
1181 浏览

flutter - 小部件测试中的 Tap() 在颤动中显示警告

显示警告:可能小部件实际上不在屏幕上,或者另一个小部件遮挡了它,或者小部件无法接收指针事件。

0 投票
1 回答
540 浏览

flutter - 如何在颤振测试中初始化 ScreenUtil.init()?

对于在颤振中创建的 BMI 应用程序,我正在编写一个测试,所以当我运行测试时,我收到以下错误:

这是我的颤振测试代码:

我试图像这样初始化它,但得到了同样的错误:

尝试用谷歌搜索它,但在颤振测试中找不到如何初始化 ScreenUtil() 。任何帮助,将不胜感激。

0 投票
0 回答
232 浏览

flutter - 如何为 statefulwidget 创建小部件测试

我有 3 个不同的文件/屏幕(主要、登录和注册),其中登录和注册是 statefulwidgtes。我想在屏幕上执行小部件测试,但是,似乎我无法在登录和注册下获取小部件,每次尝试我都会收到消息:

预期:小部件树中恰好有一个匹配节点实际:_WidgetTypeFinder:<零个类型为“ListView”的小部件(忽略后台小部件)>这意味着没有找到,但应该有一个

请注意,在上面的示例中,ListView 小部件确实存在,但没有被测试人员定位。

这是主要小部件的代码

登录页面代码:

注册页面代码:

登录页面小部件测试(这不起作用):

所以我的问题是,如何测试登录和注册有状态小部件?如何在这些屏幕中获取小部件?流感

0 投票
1 回答
491 浏览

flutter - 在 Flutter 测试中查找 CustomScrollView 内的小部件


我在尝试测试我的 Flutter 应用程序时遇到了错误。我有一个自定义小部件,它位于小部件的底部(在第一个视口之外)CustomScrollView。在我的测试中,我想验证它确实存在。
我已经尝试过使用WidgetTester.scrollUntilVisibleas well WidgetTester.drag(就像在颤振框架的测试中所做的那样)。此外,我试图用它来重构我的测试,FlutterDriver这完全把其他一切都搞砸了。
如何滚动到CustomScrollView测试内部的底部?
这个最小复制显示了包含CustomScrollViewContainer 小部件的应用程序,该小部件具有一个屏幕的高度(因此我要查找的小部件不在初始视图中)

这是我最初为查找小部件而编写的测试,当然失败了。

在本次迭代中,我使用了该WidgetTester.scrollUntilVisible函数,但出现以下错误。

我感谢任何有关如何解决此问题并成功测试我的帮助或建议CustomScrollView

0 投票
1 回答
2559 浏览

flutter - 如何使用 MockBloc 实现小部件测试?

我正在尝试实现小部件测试以测试登录表单。这个测试取决于我使用 MockBloc 模拟的一个块。但是,它会引发以下错误:

我在以下链接中发现了一个类似的错误,但我看不出它如何帮助我解决我的问题。

我还在 gitlub 上查看了以下文件,这是使用 bloc_test 进行小部件测试的示例。该链接可以在 Bloc 库的官方网站上找到 - 特别是在 Flutter 中的 Todos App 中使用 Bloc 库

但是,该示例bloc_test: ^3.0.1在我使用时正在使用bloc_test: ^8.0.0,可以在此处找到。

这是一个最小的例子:

  • 登录表单小部件
  • 消息小部件
  • 小部件测试(我想测试验证状态为错误时是否显示消息)

如果有人可以帮助我解决错误,或者可以让我知道实现小部件测试的另一种方法,我将不胜感激。

提前致谢!

0 投票
2 回答
3493 浏览

flutter - 错误“pumpAndSettle 超时”可能是由于riverpod

我被小部件测试困住了,我可以使用一些帮助
来重现行为请运行下面的代码示例

运行应用程序一切都很好

但未通过此测试

有了这个输出


环境是

Flutter version 2.2.0-11.0.pre.176

任何帮助表示赞赏