Flutter 集成测试的热重载?
Hot reload for Flutter integration test?
我已经按照此处的定义在我的项目上设置了 Flutter 集成测试:https://flutter.dev/docs/testing/integration-tests
我使用了以下开发依赖项:
integration_test: ^1.0.0
flutter_test:
sdk: flutter
flutter_driver:
sdk: flutter
测试驱动程序只是来自项目页面的 C&P:
import 'package:integration_test/integration_test_driver.dart';
Future<void> main() => integrationDriver();
期末考试:
void main() {
IntegrationTestWidgetsFlutterBinding.ensureInitialized();
testWidgets('CPCSA-TC-016: Vehicle Card with no alert',
(WidgetTester tester) async {
app.main();
// Execute test code.
});
}
最后我 运行 我的测试
flutter drive --driver=test_driver/integration_test.dart --target=integration_test/test.dart
这基本上没问题,但它在每次执行时都会编译,这非常耗时。我是否有机会 运行 集成测试并拥有与常规开发相同的热重载功能?如何实现?
或者还有其他解决方法吗?我正在考虑先将测试代码编写为 unit/widget 测试,然后在执行正确后将其移植到集成测试中。
差不多。
integration_test 包部分可行。
使用 run
命令你至少可以 Hot Restart - 这在编写测试时节省了大量时间。
您可以对项目和测试代码进行更改并反映更改。
从终端执行:
flutter run integration_test/tests/your_test.dart
然后您应该可以通过按 SHIFT + r
来热重启(以终端为中心)。
也可以将您要测试的测试文件添加到您的 IDE 运行 配置和 运行 或者像“正常”项目一样从那里调试它。
示例假“your_test.dart”测试:
import 'package:flutter_test/flutter_test.dart';
import 'package:integration_test/integration_test.dart';
void main() {
IntegrationTestWidgetsFlutterBinding.ensureInitialized();
testWidgets('Test test testing', (WidgetTester tester) async {
expect(true, isTrue);
});
}
我已经按照此处的定义在我的项目上设置了 Flutter 集成测试:https://flutter.dev/docs/testing/integration-tests
我使用了以下开发依赖项:
integration_test: ^1.0.0
flutter_test:
sdk: flutter
flutter_driver:
sdk: flutter
测试驱动程序只是来自项目页面的 C&P:
import 'package:integration_test/integration_test_driver.dart';
Future<void> main() => integrationDriver();
期末考试:
void main() {
IntegrationTestWidgetsFlutterBinding.ensureInitialized();
testWidgets('CPCSA-TC-016: Vehicle Card with no alert',
(WidgetTester tester) async {
app.main();
// Execute test code.
});
}
最后我 运行 我的测试
flutter drive --driver=test_driver/integration_test.dart --target=integration_test/test.dart
这基本上没问题,但它在每次执行时都会编译,这非常耗时。我是否有机会 运行 集成测试并拥有与常规开发相同的热重载功能?如何实现?
或者还有其他解决方法吗?我正在考虑先将测试代码编写为 unit/widget 测试,然后在执行正确后将其移植到集成测试中。
差不多。
integration_test 包部分可行。
使用 run
命令你至少可以 Hot Restart - 这在编写测试时节省了大量时间。
您可以对项目和测试代码进行更改并反映更改。
从终端执行:
flutter run integration_test/tests/your_test.dart
然后您应该可以通过按 SHIFT + r
来热重启(以终端为中心)。
也可以将您要测试的测试文件添加到您的 IDE 运行 配置和 运行 或者像“正常”项目一样从那里调试它。
示例假“your_test.dart”测试:
import 'package:flutter_test/flutter_test.dart';
import 'package:integration_test/integration_test.dart';
void main() {
IntegrationTestWidgetsFlutterBinding.ensureInitialized();
testWidgets('Test test testing', (WidgetTester tester) async {
expect(true, isTrue);
});
}