debugging Flutter:调试集成测试

8wtpewkr  于 2022-12-13  发布在  Flutter
关注(0)|答案(4)|浏览(168)

我正在学习Flutter并使用Android Studio作为我的IDE,我遇到了一些关于集成测试的痛点。
作为学习过程的一部分,我写了一个基本的集成测试。
此集成测试的目的是检查图像小部件(通过Image.Asset创建),以查看动态生成的图像源是否为预期值,或者是否正在显示图像。
我使用IDE中的“终端”选项卡运行集成测试,例如:flutter drive --target=my_app/test_driver/user_list_scrolling.dart
我想在集成测试方法中添加一个断点,并在Android Studio中逐步执行该断点,以帮助我学习测试功能。
我的问题是:
我如何在Android Studio中调试集成测试?-在学习过程中,我很想在集成测试中设置一个断点,并在即时窗口中使用Finder。然而,当我从终端启动集成测试时,断点似乎被忽略了,我还尝试添加了Debugger();命令。执行暂停,但我无法在Android Studio中单步执行代码。我还尝试在IDE中使用“Attach to process”选项,但“Choose process”列表为空。
我是否可以在Android Studio中执行集成测试,而无需在终端中手动输入命令?-我宁愿单击按钮,也不愿记住命令。右键单击我的集成测试文件并选择运行似乎不起作用。
如何在集成测试中有效地测试图像小部件?-图像源是通过调用Image.Asset()设置的,第一个参数是计算值,所以我想确认图像是否显示/参数是预期值。我猜我需要使用find.byType("Image")并以某种方式检查源值的结果?

bprjcwpo

bprjcwpo1#

以下是我使用Flutter工具为集成测试开发进行设置所采取的步骤,包括调试:
1.将应用配置为侦听共享端口(本例中为8888)x1c 0d1x将“- observatory-port 8888”添加到“附加参数”
1.将集成测试配置为连接到同一共享端口

将“VM_SERVICE_URL= http://127.0.0.1:8888/”添加到“环境变量”
1.在运行或调试模式下启动应用程序(仅需一次,需要时可进行热重新加载):

1.在运行或调试模式下启动集成测试(根据需要多次启动):

您现在可以将断点添加到应用程序和/或在调试器中测试和查看源代码和变量。
下面详细介绍如何设置Android Studio以开发集成测试。
A how-to for fast integration test development with existing tooling

jljoyd4f

jljoyd4f2#

由于某些原因,在Android Studio中,在调试模式下运行的图标不适用于整个目录范围内的配置。创建一个针对一个文件的配置,或者只需单击main()函数旁边的“运行测试”图标,然后选择“调试”选项。

knsnq2tg

knsnq2tg3#

有了新的integration_test包,您只需运行flutter run integartion_test/app_test.dart来调试测试。
我的launch.json(我使用VS代码):

{
  "version": "0.2.0",
  "configurations": [
    {
      "name": "Integration Test",
      "request": "launch",
      "type": "dart",
      "program": "example/integration_test/app_test.dart",
    },
  ]
}

gudnpqoy

gudnpqoy4#

您可以从AndroidStudio运行集成测试,就像您运行任何其他Flutter应用一样(右键单击文件,运行-〉调试)。
有时AndroidStudio会将文件识别为Dart而不是Flutter,所以你必须为Flutter创建一个新的运行/调试配置。在“Dart entrypoint”,选择带有“main”功能的集成文件。

相关问题