首页 > 解决方案 > Flutter:调试集成测试

问题描述

我正在学习 Flutter 并使用 Android Studio 作为我的 IDE,并且在集成测试方面遇到了一些痛点。

作为学习过程的一部分,我编写了一个基本的集成测试。

此集成测试的目的是检查 Image 小部件(通过 Image.Asset 创建)以查看动态生成的图像源是否是预期值,或者是否正在显示图像。

我使用 IDE 中的终端选项卡运行集成测试,例如:flutter drive --target=my_app/test_driver/user_list_scrolling.dart

我想在我的集成测试方法中添加一个断点,并在 Android Studio 中逐步执行它,以帮助我学习测试功能。

我的问题是:

如何从 Android Studio 中调试集成测试?- 正如我正在学习的那样,我很想在我的集成测试中放置一个断点,并在即时窗口中使用查找器。但是,当我从终端开始我的集成测试时,我的断点似乎被忽略了,我也尝试添加Debugger();命令。执行暂停,但我无法在 Android Studio 中单步执行我的代码。我也尝试在 IDE 中使用“附加到进程”选项,但“选择进程”列表为空。

我可以在 Android Studio 中执行集成测试,而无需在终端中手动输入命令吗?- 我宁愿点击一个按钮而不是记住一个命令。右键单击我的集成测试文件并选择运行似乎不起作用。

如何从集成测试中有效地测试图像小部件?- 通过使用计算值作为第一个参数调用 Image.Asset() 来设置图像源,因此我想确认显示图像/参数是预期值。我猜我需要使用find.byType("Image")并以某种方式检查源值的结果?

标签: android-studiodebuggingflutterintegration-testing

解决方案


以下是我使用 Flutter 工具设置集成测试开发的步骤,包括调试:

  1. 将应用配置为侦听共享端口(在本例中为 8888) 将 '--observatory-port 8888' 添加到 'Additional Arguments'"></a> 将 '--observatory-port 8888' 添加到 'Additional Arguments'</p></li> <li><p>将集成测试配置为在同一个共享端口上连接 <a href=在此处输入图像描述 将“VM_SERVICE_URL= http://127.0.0.1:8888/ ”添加到“环境变量”</p>

  2. 在运行或调试模式下启动应用程序(只需要一次,需要时热重载): 在此处输入图像描述

  3. 在运行或调试模式下启动集成测试(根据需要多次): 在此处输入图像描述

您现在可以向应用程序添加断点和/或在调试器中测试和查看源代码和变量。

下面将更详细地描述如何设置 Android Studio 来开发集成测试。

使用现有工具进行快速集成测试开发的方法


推荐阅读