我可以在终端中运行此命令以在真实设备上执行集成测试
flutter drive --target=test_driver/app.dart
但我不知道如何在 Android Studio 上创建运行/调试配置,以便调试测试。请帮我。
我可以在终端中运行此命令以在真实设备上执行集成测试
flutter drive --target=test_driver/app.dart
但我不知道如何在 Android Studio 上创建运行/调试配置,以便调试测试。请帮我。
使用integration_test包在集成测试中设置断点不需要在 Android Studio 上进行任何特殊的运行/调试配置。这同样适用于真实设备、模拟器和 Flutter Desktop。
$ flutter devices
3 connected devices:
XXXXXX (mobile) • XXXXXX • android-arm64 • Android XX.XX (API XX)
Linux (desktop) • linux • linux-x64 • Ubuntu 20.04.XX LTS XXX-generic
Chrome (web) • chrome • web-javascript • Google Chrome XXXXX
(请参阅 Windows MAC 教程 | flutter-examples.com 中的直接在真实 Android 设备上运行测试 Flutter 应用程序)
flutter create debug_at_device_2
cd debug_at_device_2
flutter pub get
在 Android Studio 中打开项目。
在方法中设置断点_incrementCounter
:
flutter_test
和integration_test
包作为开发依赖项pubspec.yaml
:dev_dependencies:
flutter_test:
sdk: flutter
integration_test:
sdk: flutter
flutter pub get
integration_test
,并在其中创建一个example_test.dart
包含以下内容的文件:import 'package:flutter/material.dart';
import 'package:flutter_test/flutter_test.dart';
import 'package:integration_test/integration_test.dart';
import 'package:debug_at_device/main.dart' as app;
void main() {
IntegrationTestWidgetsFlutterBinding.ensureInitialized();
testWidgets("should increment counter", (WidgetTester tester) async {
app.main();
await tester.pumpAndSettle();
await tester.tap(find.byIcon(Icons.add));
await tester.pumpAndSettle();
expect(find.text('1'), findsOneWidget);
await tester.tap(find.byIcon(Icons.add));
await tester.pumpAndSettle();
expect(find.text('2'), findsOneWidget);
await tester.tap(find.byIcon(Icons.add));
await tester.pumpAndSettle();
expect(find.text('3'), findsOneWidget);
});
}
确保手机已解锁(即没有屏幕保护程序)
main
右键单击方法旁边的运行图标example_test.dart
,然后从上下文菜单中选择调试选项:
我已经使用以下方法对其进行了测试: