问题标签 [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 回答
35 浏览

flutter - Flutter goldens flutter_test 导致文本无法正确渲染

我的 flutter_test 测试不起作用。当我查看生成的金色时,似乎有问题。请参见以下示例:

这会产生一个截图,看起来文本都是某种实心块(注意红色背景颜色和绿色文本颜色):

在此处输入图像描述

有人看过这个或知道怎么回事吗?

0 投票
1 回答
331 浏览

flutter - Flutter 小部件测试 Clipboard.setData 未来然后永远不会触发

我正在尝试在我的应用程序中测试剪贴板功能。当我按下按钮时,它应该将我的文本复制到剪贴板。当我尝试使用小部件测试来测试此功能时,返回的未来没有得到解决。有没有办法模拟 Clipboard.setData 方法?

由于我的原始代码非常大,我做了一个可重现的小部件测试,它有同样的问题。当我执行期望()时,布尔数据复制为假。

0 投票
1 回答
59 浏览

flutter - 小部件测试不会触发 DropdownButton onChanged

我有一个小部件测试,可以点击DropdownButton. 那应该会触发onChanged回调,但不会。这是测试代码。模拟是 Mockito。

这是小部件的构建方法:

请注意,该onValueChanged函数调用logEvent调用。回调永远不会发生并且onChanged测试失败。这是它应该触发的代码。

为什么回调永远不会触发?

注意:我做了另一个小部件测试,Mock 确实验证了客户端被正确调用。我认为回调作为小部件测试的一部分存在一些问题。

0 投票
0 回答
17 浏览

flutter - 为颤振中的黄金测试文件指定差异容差级别

这个问题解释了这样做的原因

我们如何为黄金测试设置差异容差水平?已经为此合并了PR 。但我不确定如何在测试中使用这些 API。

目前,我有一个像这样的黄金测试匹配器。

如何为此测试设置差异容差级别?

0 投票
0 回答
66 浏览

flutter - 如何在 Flutter 小部件测试中获取当前变量值

假设我有一个枚举来表示一些颜色;

为了不重复测试用例,我可以写TestVariant如下;

最后下面有个对应的testWidget函数;

所以实际的问题是,如何在测试块中获取相关的MyColor ?

0 投票
1 回答
124 浏览

flutter - 如何在 Flutter 小部件测试中点击列表或网格的所有项目?

在我的 Flutter 小部件测试中,我想点击列表或网格视图中的所有(或前 n 个)项目。

我已经想出了一个解决方案,虽然它似乎有效,但再次按键找到点击目标看起来过于复杂:

有没有更优雅的方法来做到这一点?

0 投票
1 回答
452 浏览

flutter - 使用 HttpClient 进行 Flutter Widget 测试

我正在尝试为屏幕而不是主应用程序编写小部件测试。这是我第一次编写小部件测试,但我找不到合适的解决方案。我不知道如何为此编写一个适当的测试。我尝试编写一个简单的小部件测试,但最终给我一个错误,如下所示“警告:此套件中的至少一个测试创建了一个 HttpClient。当运行使用 TestWidgetsFlutterBinding 的测试套件时,所有 HTTP 请求都将返回状态代码 400,并且实际上不会发出网络请求。任何期望真实网络连接和状态代码的测试都将失败。要测试需要 HttpClient 的代码,请为被测代码提供您自己的 HttpClient 实现,以便您的测试可以始终如一地提供可测试的响应被测代码。” 我刚开始学习它,请帮助我。笔记:

0 投票
0 回答
450 浏览

flutter - 在 Flutter 小部件测试中访问 GetXController

我正在为登录屏幕实施小部件测试。在应用程序中,登录屏幕为用户提供了一个开关控件,用于设置生物识别的首选项(如果它们在设备上可用)。

我们正在研究 GetX,需要在小部件测试中测试此行为。登录屏幕是一个无状态小部件,它加载一个GetXController称为LoginViewController依赖项的子类。这个控制器类包含一个称为 的可观察布尔值canCheckBiometrics,有一个称为 settersetBiometrics(bool newValue)的方法,用于确定开关控件的存在。LoginView 无状态小部件使用包检查是否存在生物特征local_auth并相应地调用 setBiometrics。LoginView的代码摘录:

我想做的是LoginViewController在我的小部件测试中模拟类并setBiometrics根据需要调用来执行测试。以下是我的小部件测试的一部分:

LoginView必须用 a 包裹以MaterialApp避免MediaQuery错误。

我的问题是:如何将MockLoginViewController类与正在测试的小部件相关联,以便我可以切换值并测试切换器的存在?还是我对这一切都错了?

注意:我试图尝试这个get_test包来帮助解决这个问题,但它不支持空安全,因此没有用。

0 投票
1 回答
18 浏览

flutter-test - widgetTests 控制台输出:`~` 后面的数字是什么意思?

我们正在运行widgetTests,我看到的输出如下

后面的数字+是测试计数器。~参考后面的数字是多少?

0 投票
1 回答
89 浏览

flutter - 在 Flutter 中使用 network_image_mock 包进行图像测试

我正在尝试测试一个有Image.network孩子的小部件。

提供以下日志。

我的测试:

在上面的代码示例中,ScreenWidget有一个孩子是Image.network.

有什么想法吗?