指南
-
如何编写单元测试:
- 在test文件夹中创建一个新的Dart文件,命名为xxx_test.dart。
- 导入package:flutter_test/flutter_test.dart。
- 使用test()函数定义一个单元测试,并在其中编写测试逻辑。
- child::pumpAndSettle
- child::tester.tap
- child::Finder
- 运行命令
flutter test来执行所有的单元测试。
-
如何编写集成测试:
- 在test文件夹中创建一个新的Dart文件,命名为xxx_test.dart。
- 导入package:flutter_driver/flutter_driver.dart。
- 使用main()函数定义一个集成测试,并在其中编写操作应用界面的代码。
- 运行命令
flutter drive --target=test_driver/xxx_test.dart来执行集成测试。
-
如何编写widget测试:
- 在test文件夹中创建一个新的Dart文件,命名为xxx_test.dart。
- 导入package:flutter_test/flutter_test.dart和package:flutter/widgets.dart。
- 使用testWidgets()函数定义一个widget测试,并在其中构建widget并验证其属性和交互行为。
- 运行命令
flutter test test/widget/xxx_test.dart来执行widget测试。
-
测试覆盖率报告:
- 运行命令
flutter test --coverage来生成代码覆盖率报告。 - 在项目根目录下查看coverage/lcov.info文件,可使用工具如lcov或codecov生成可视化覆盖率报告。
- 运行命令
-
提交代码前的自动化检查:
- 可将单元测试、集成测试和widget测试整合到CI/CD流程中,在每次提交代码前自动运行所有的测试以确保代码质量。
-
参考文档:
- Flutter官方文档:https://flutter.dev/docs/testing
- Flutter Testing Cookbook:https://flutter.dev/docs/cookbook/testing