android-studio - 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")
并以某种方式检查源值的结果?
解决方案
以下是我使用 Flutter 工具设置集成测试开发的步骤,包括调试:
将应用配置为侦听共享端口(在本例中为 8888) 将“VM_SERVICE_URL= http://127.0.0.1:8888/ ”添加到“环境变量”</p>
您现在可以向应用程序添加断点和/或在调试器中测试和查看源代码和变量。
下面将更详细地描述如何设置 Android Studio 来开发集成测试。
推荐阅读
- redis - 如果 master 在给定时间内关闭,则杀死 Redis Slave
- postgresql - 为什么我不能通过 select distincts 使用相等顺序?
- wso2 - WSO2 身份服务器 - 从 JWT 访问令牌中删除“内部/所有人”
- asp.net-core - AADB2C90006 在 redirect_uri 中带有 https-> http 转换
- c# - 可序列化类未显示在自定义检查器中
- rundeck - github中的Rundeck Resource.xml
- java - Comparable和>有什么区别?
- angular2-template - Angular 2 用动画重新渲染 UI
- rest - REST API 正确的 URL 结构以加载实体但具有不同的选项
- ios - 处理数据和 UITableViewCell 的更好方法是什么?