问题标签 [flutter-test]

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 投票
1 回答
3036 浏览

dart - Flutter: Testing for exceptions in widget tests

How do I go about making sure the ui (widget) throws an exception during widget testing in Flutter. Here is my code that does not work:

#xA;

It fails with the following error

#xA;

OR......should I be testing how the UI handles an exception by looking for error messages, etc??

0 投票
1 回答
723 浏览

google-maps - 如何模拟“google_maps_flutter”包进行颤振测试?

我最近开始接触 Flutter,但就在我准备编写一些小部件测试时,我注意到我不太确定如何模拟 Google Maps Flutter 包。

我见过的许多示例包括使用库“mockito”来模拟类,但这假设 Google Maps 小部件将被注入到要测试的小部件中。不幸的是,根据他们给定的文档和启动指南,这似乎不太可能:

请注意,GoogleMaps小部件无法传入,因为onMapCreated它是必需的函数,并且该函数依赖于私有类方法(授予父小部件访问权限GoogleMapsController)。没有这种回调函数来设置状态的 mockito 模拟函数的许多其他示例。

似乎没有我见过的任何其他包可以有效地模拟 GoogleMaps 小部件,所以我真的没有任何例子可以效仿。理想情况下,我所期待的是某种行为,例如 node.s 中的 proxyquire 或 sinon(您不需要将模拟库传递给 function.constructors),但看起来模拟类需要传递到测试的小部件。

关于如何模拟这个库进行测试还有其他想法吗?还是我应该只测试实际功能?

0 投票
2 回答
5935 浏览

dart - Flutter:如何正确实现 FlutterError.OnError

有人可以告诉我如何在小部件测试期间实现覆盖颤动错误,以便我可以检查自己的自定义错误。

我在网上看到了提到这一点的片段,但我所有的实现都失败了

上面的代码失败并显示以下消息,即使它看起来实际上“捕获”了我的错误:

我读到你可以做类似下面的代码片段,但它没有看到如何/在哪里实现它:

0 投票
2 回答
1187 浏览

flutter - 在 Flutter 中使用 MockClient 进行测试时遇到问题

我正在尝试使用 MockClient 在颤振中编写一个简单的测试,但我似乎无法让它工作。

这是我要测试的代码:

这是测试代码:

当我运行测试时,它失败并显示以下消息:

我猜这里的问题是当我调用 getItemById 方法时,MockClient 没有返回任何内容,但我不知道为什么。

0 投票
1 回答
719 浏览

firebase - 如何从 firebase_auth 测试“signInWithEmailAndPassword”

我正在尝试在我的 Flutter 应用程序中编写一些单元测试。我正在使用firebase,我编写了这个函数(我想测试):

我的测试:

当我启动抛出异常的测试时:

我不知道如何解决它,有人有想法吗?

0 投票
1 回答
4912 浏览

dart - 如何在 Flutter 测试中模拟 TextField 上的按 ENTER

鉴于这tester.enterText将允许我TextField在颤振测试中输入文本,我将如何模拟按android 键盘上的DONE键或在文本字段内按键盘上的ENTER

这也相当于检查IOS/android 键盘上的DONE按钮是否按下

0 投票
0 回答
1820 浏览

code-coverage - 如何在 Windows 机器上安装 lcov 工具

如何在 Windows 机器上安装 lcov 工具,以便我可以使用该genhtml命令为我的代码覆盖率输出文件生成 html 文件?

我为我的颤振应用程序生成了代码覆盖率。文件类型是 lcov.info。我需要使这个文件像 html 文件一样可读。

请任何人告诉我在 Windows 机器上安装 lcov 的正确步骤。我尝试了很多方法来安装 lcov,但没有任何效果。

0 投票
1 回答
2283 浏览

flutter - 如何在我的颤振测试中生成未测试文件的测试覆盖率?

我正在我的应用程序上进行小部件和单元测试,我根据基本指南正常进行测试,并生成我使用的覆盖率:

flutter test --coverage

但是我只能看到直接测试的文件的覆盖率,我想查看其他文件(覆盖率为 0%),然后我可以检查我的代码的真实覆盖率。

有没有办法做到这一点?

0 投票
1 回答
60 浏览

flutter - Flutter 集成测试,如原生“AndroidTest”测试

在 Android Native 开发中,我创建了集成测试来测试我的数据库访问和服务。我使用“@RunWith(AndroidJUnit4::class)”在模拟器上运行我的测试,没有任何 UI 参与。我的意思是“androidTest”文件夹下的测试。

我正在尝试将我的测试移植到 Flutter。我尝试了单元、小部件和集成测试,但没有人允许我像在 Android 上那样集成测试我的代码。有没有办法在 Flutter 上做同样的事情?

0 投票
4 回答
4425 浏览

flutter - 如何在小部件测试中找到屏幕外 ListView 子项?

在 ListView 中显示多个子项时,如果一个子项不在屏幕上,则小部件测试无法找到它。这是一个完整的例子:

主要.dart

main_test.dart

Container该测试失败,但是如果我将main.dart 中的高度更改为599它可以工作。

有谁知道为什么会这样?它是一个错误吗?有办法解决吗?