Flutter测试报告生成插件allure_report的使用

发布于 1周前 作者 sinazl 来自 Flutter

Flutter测试报告生成插件allure_report的使用

使用说明

在使用Flutter测试报告生成插件allure_report之前,你需要确保已经添加了以下依赖到你的项目中:

dev_dependencies:
  # reporter
  allure_report: ^1ersion
  test_reporter: ^1ersion

接下来,按照以下步骤操作:

  1. test目录下创建一个名为reporter.dart的文件。如果该文件不存在,则会使用默认的Basic Console Reporter
import 'package:allure_report/allure_report.dart';
import 'package:test_reporter/test_reporter.dart';

TestReporter create() {
  return AllureReporter();
}
  1. 运行test_reporter命令来运行你的测试用例。
dart run test_reporter -- dart test
dart run test_reporter -- flutter test

输出

测试结果将被放置在项目根目录下的allure-results文件夹中。你可以通过访问Allure文档中的“如何查看报告”部分来查看这些结果。

注意事项

  • 全格式支持:当前不完全支持完整的Allure格式。并非所有功能都可用。
  • 全规格支持:需要进一步开发以支持完整的规格。

附件

Allure Reporter期望测试用例打印的消息格式为event:attachment:<路径到附件>。例如:

final base = p.join(Directory.current.path, 'reports', 'failures',
    subfolder, p.basename(masterFile.path));
final test = p.join(Directory.current.path, 'reports', 'failures',
    subfolder, p.basename(testFile.path));

masterFile.copySync(base);
testFile.copySync(test);

print('event:attachment:$base');
print('event:attachment:$test');

待办事项

  • ✅ 处理Flutter错误
  • ❌ 添加步骤支持

示例代码如下:

import 'package:allure_report/allure_report.dart';
import 'package:test_reporter/test_reporter.dart';

TestReporter create() {
  return AllureReporter();
}
dart run test_reporter -- dart test
dart run test_reporter -- flutter test

更多关于Flutter测试报告生成插件allure_report的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html

1 回复

更多关于Flutter测试报告生成插件allure_report的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html


当然,以下是一个关于如何在Flutter项目中使用allure_report插件来生成测试报告的示例。需要注意的是,allure_report本身并不是直接为Flutter设计的,但你可以结合Flutter的测试框架(如flutter_test)和Allure的Dart VM服务适配器来生成Allure兼容的测试报告。

1. 设置环境

首先,确保你的Flutter开发环境已经配置好,并且你有一个Flutter项目。

2. 添加依赖

虽然没有一个直接的allure_report Flutter插件,但你可以使用Dart VM服务协议和Allure的Dart适配器来生成报告。你需要在你的pubspec.yaml文件中添加一些依赖,比如testallure_dart(假设有这样的一个包,实际上你可能需要手动集成Allure的Dart支持)。

dependencies:
  flutter:
    sdk: flutter
  test: ^1.17.0  # 或者最新版本

dev_dependencies:
  build_runner: ^2.0.4  # 用于运行构建脚本
  # allure_dart:  # 假设存在这样的包,实际上可能需要手动集成

注意:allure_dart并不是一个官方或广泛认可的包,这里只是为了说明。实际上,你可能需要参考Allure的官方文档来手动集成Dart支持。

3. 编写测试

在你的Flutter项目中编写测试,并使用Allure的注解来标记测试步骤和附件。由于Allure的Dart支持可能不是官方的,以下代码是一个概念性的示例,展示了如何使用Allure风格的注解(实际上你需要根据Allure的Dart集成文档来调整)。

import 'package:test/test.dart';
// 假设有一个allure_dart包提供了以下导入
// import 'package:allure_dart/allure.dart';

void main() {
  // @Feature('Flutter Feature')
  // 假设Allure有一个Feature注解,实际上你需要根据Allure的Dart集成来调整
  group('Flutter Feature', () {
    test('example test', () {
      // @Step('Step 1: Initial setup')
      // 假设Allure有一个Step注解
      print('Setting up...');

      // 执行一些测试逻辑
      expect(1 + 1, equals(2));

      // @Attachment('attachment.txt', data: 'Some attachment data')
      // 假设Allure有一个Attachment注解,用于添加附件
      // 这里只是概念性示例,实际实现可能不同
    });
  });
}

4. 生成报告

由于Allure的Dart支持可能不是官方的,你需要参考Allure的文档来配置报告生成。通常,这涉及到运行测试并收集测试结果,然后使用Allure的命令行工具生成报告。

以下是一个概念性的步骤,展示了如何可能集成Allure报告生成(实际步骤可能不同):

  1. 运行测试并收集结果:

    flutter test --machine > test_results.json
    
  2. 使用Allure命令行工具生成报告(假设你已经安装了Allure):

    allure serve test_results.json  # 或者使用适当的命令和格式
    

5. 查看报告

运行上述命令后,Allure将启动一个本地服务器,你可以在浏览器中查看生成的测试报告。

注意

  • 由于allure_dart可能不是一个官方或广泛认可的包,你需要参考Allure的官方文档来手动集成Dart支持。
  • Flutter本身并没有直接的Allure插件,但你可以结合Dart VM服务协议和Allure的Dart适配器来实现类似的功能。
  • 上述代码和命令是概念性的示例,实际实现可能需要根据Allure的Dart集成文档进行调整。

希望这能帮助你在Flutter项目中集成Allure测试报告生成。如果有进一步的问题或需要更详细的指导,请查阅Allure的官方文档。

回到顶部