首页 > 解决方案 > 未显示 lib 文件的 Dart 测试覆盖率

问题描述

你如何使覆盖率报告包括在 lib 目录下的那些?现在,当我使用 运行测试时dart test --coverage="coverage",它只会记录我的测试文件而不是 lib 文件的覆盖率。但是当我更改我的 lib 文件的导入声明时,相对来说:

import '../../lib/conventional.dart';

...代替:

import 'package:conventional/conventional.dart';

...有用。也许我做错了什么?Dart 版本是 Dart SDK 版本:“linux_x64”上的 2.12.0(稳定),覆盖版本是 1.0.1。源代码可以在这里找到:https ://github.com/asartalo/conventional/

标签: darttestingtest-coverage

解决方案


我在reddit上问了这个问题,并在那里得到了答案。所以在运行之后dart test --coverage="coverage",我需要添加--packages=.packages如下:

dart test --coverage="coverage"
format_coverage --lcov --in=coverage --out=coverage.lcov --packages=.packages --report-on=lib

之前,我没有包含该--packages=.packages选项,因此它仅显示测试文件的覆盖范围。这方面的文件说:

    --packages           path to the package spec file

..并没有提及任何有关其重要性的内容。这很令人沮丧。


推荐阅读