问题标签 [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 投票
0 回答
66 浏览

flutter - Flutter 协同多设备集成测试

是否可以在颤振测试中从单个进程启动多个设备?我希望有一个单一的进程协调涉及多个设备的集成测试。

这是我希望能够运行的简单测试的示例。问题是我不知道如何创建第二个 WidgetTester:

这个问题突出了一种方法。在多个设备上进行 Flutter UI 测试(驱动)。这里的问题是我不知道如何通信/协调这两个设备。它们在不同的进程中独立运行。device1 如何告诉 device2 代码是什么?

0 投票
1 回答
57 浏览

flutter - 为什么在运行小部件测试时小部件不可见?

我只是想模仿Flutter 中对小部件测试的介绍,但在我实现的基本代码示例中不断看到测试失败。

这是测试

这是OrderDetailsItemWidget要测试的:

但是,它一直失败:

在此处输入图像描述

我假设我在这里没有做任何特别的事情,它只是一个基本上带有三个Texts 的小部件。

我所需要的只是验证Texts在提供字段值时子小部件( )是否可见。我在这里想念什么?!

请注意,我尝试使用find.text("...")代替键,但效果不佳。

0 投票
1 回答
30 浏览

flutter - 我如何在 Flutter 测试中做到这一点

我是 Flutter 测试的新手,希望你能帮助我。我有一个名为 AddShimmer 的类,看起来像这样 ->

现在,我正在尝试编写一个颤振测试,只是为了检查一个子小部件是否正在传递给 AddShimmer 类。为此,我正在写这样的东西->

当我执行测试时,我得到一个异常,上面写着 ->

这是什么意思以及如何测试呢?

0 投票
0 回答
85 浏览

flutter - 如何在 Flutter 中小部件测试 BoxDecoration

我想测试 BoxDecoration 的颜色变化,但我不知道如何获取颜色...

这是代码

当我打印container.decoration时,我得到BoxDecoration(color: Color(0x00000000), border: Border.all(BorderSide(Color(0x66c8c8c8), 1.8, BorderStyle.solid)), borderRadius: BorderRadius.circular(4.8)). 我想获得颜色,即使它像这里一样是透明的,但我不知道如何访问它......

container.decoration.color 不起作用,这是错误:

在此处输入图像描述

谢谢你的帮助 !

克里斯

0 投票
1 回答
38 浏览

flutter - (WidgetTest) 测试按钮状态(启用或禁用)

在初始状态下,访问视图时,必须禁用按钮,在执行特定操作后,必须启用按钮。关于如何测试这种行为的任何想法?

0 投票
0 回答
26 浏览

flutter - 在 Flutter 小部件测试中验证导航

我正在实现一个小部件测试,其中用户登录并在成功验证后导航到下一个视图。我查看了几篇帖子,所有帖子都建议设置一个模拟类型,NavigatorObserver然后使用它来验证下一个视图是否已推送。在我的小部件测试中,我将模拟设置如下:

我的设置实例化模拟如下:

在我的testWidgets功能中,我有以下内容:

这是执行身份验证过程的代码:

到目前为止,我发现的每一篇文章都建议使用它来验证是否发生了推送:

但是,这无法在我的代码中构建。调用中的第一个any参数verify无法使用消息构建

在此处输入图像描述

我已验证在视图中正确启动了身份验证过程,并且正在传递凭据。除了验证是否已推送到下一个视图之外,所有测试均通过。

有谁知道验证路线已被推送的正确方法?

谢谢!

0 投票
0 回答
64 浏览

flutter - Flutter Widget Test 不适用于 Animated Widget

我刚刚制作了一个动画复选框,其中颜色是动画的。这是代码:

我想测试颜色是否正确,所以我做了一个小部件测试来测试它:

问题是当我泵送小部件时,颜色根本没有改变,我得到了这些结果:

似乎动画只迭代了2次,我不知道为什么......

感谢您的建议!

克里斯

0 投票
0 回答
37 浏览

flutter - 使用 GetIt 在 Flutter 小部件测试中未将 Mock 对象识别为 Mockito

我正在编写一个验证注销按钮的小部件测试。当通过用户按钮点击触发注销功能时,FlutterSecureStorage 中的某些项目会被清除。我想验证在我们的 Preferences 类中调用了一个方法,该类是 FlutterSecureStorage 的包装器。我们在应用程序和测试中使用 GetIt 作为依赖注入器。

在我的小部件测试中,我为 Preferences 类声明了一个 Mock,如下所示:

在我的小部件测试设置中,我有以下内容:

在我的 testWidgets 中,我获得了对模拟的引用,如下所示:

当我的小部件测试运行时,当我在上面的行之后放置一个断点时,我可以验证该prefs对象肯定是类型MockPreferences,并且与小部件测试的其他交互证明正在对模拟对象而不是真实对象调用方法。

当我尝试验证clearPreferences()使用 Mockito 的verify函数调用该方法时,如下所示:

在我可以看到 prefs 对象是一个 mockito 对象的行之后放置一个断点var prefs,但是测试不会将它识别为一个 mockito 对象并且测试失败。

任何人都可以提供任何建议吗?谢谢!

0 投票
0 回答
27 浏览

flutter - Flutter 小部件测试异常未正确处理

我不相信这是这个 SO 问题的重复,因为所述解决方案在我的情况下不起作用。

我无法在我的 widgetTest 中正确捕获/验证异常,我不知道为什么。测试实际上只是在我尝试测试的异常上失败,而不是处理异常。

这是我的代码:

这是我的测试:

运行测试时,这是我得到的错误:

如果我将测试更改为

然后我仍然得到

我在想,由于我正在模拟的函数返回异常,并且它被捕获在 onPressed 小部件代码中,所以我不会有任何问题。最好的情况是,我可以捕捉到异常的发生并验证它是否发生,最坏的情况是我至少可以看到我的错误文本已添加到页面中......但我只是收到了这个错误。我要在 Flutter 中错误地处理错误吗?

0 投票
1 回答
27 浏览

flutter - 如何 Flutter 测试 TextThemes

我需要测试下面的代码来检查是否trailingIconButton == null应该应用某个文本主题。

我写的