coverage不能生成coverage.lcov



我在生成coverage.lcov时遇到了麻烦
在单线程中运行github action(使用melos)
我认为问题可能是由覆盖引起的,但也有可能
我错过了一些突破性的变化(去年我很忙)

这是melos.yaml的相关部分

test:format:
run: melos exec -c 1 -- format_coverage --lcov --check-ignore  --in=coverage --out=coverage.lcov --packages=.packages --report-on=lib
description: Format Dart tests' coverage data
select-package:
flutter: false
dir-exists: test

这是失败的coverage命令

format_coverage --lcov --check-ignore  --in=coverage --out=coverage.lcov --packages=.packages --report-on=lib

使用这些日志

261
Unhandled exception:
262
FormatException: Unexpected character (at character 1)
263
# This file is deprecated. Tools should instead consume 
264
^
265
#0      throwError (package:package_config/src/errors.dart:32:35)
266
#1      parsePackageConfigString (package:package_config/src/package_config_json.dart:54:12)
267
#2      PackageConfig.parseString (package:package_config/src/package_config.dart:94:7)
268
#3      Resolver._parsePackages (package:coverage/src/resolver.dart:115:23)
269
#4      Resolver.create (package:coverage/src/resolver.dart:34:13)
270
#5      HitMap.parseJson (package:coverage/src/hitmap.dart:191:46)
271
#6      HitMap.parseFiles (package:coverage/src/hitmap.dart:212:41)
272
#7      main (file:///home/runner/.pub-cache/hosted/pub.dartlang.org/coverage-1.5.0/bin/format_coverage.dart:66:31)
273
#8      _delayEntrypointInvocation.<anonymous closure> (dart:isolate-patch/isolate_patch.dart:295:32)
274
#9      _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:192:12)
279
--------------------------------------------------------------------------------

生成coverage.lcov的正确命令是什么?

这里是日志

请试试这个

dart pub global run coverage:format_coverage --packages=.dart_tool/package_config.json --report-on=lib --lcov -i coverage -o coverage/lcov.info

查看详细信息。

结果是命令
dart test --coverage="coverage"

flutter test --coverage
已经输出了一个lcov.info文件
(我很确定不是总是这样)
所以根本不需要运行format_coverage

(codecov/codecov-action@v3很好地接受了)

最新更新