Eri*_* Li 6 testing code-coverage dart angular-dart
我尝试使用 packagecoverage从我的 Angular Dart 4.0 项目中获取代码覆盖率。
以下步骤是我的工作流程:
pub serve test --port=8081pub run test --pub-serve=8081 --pause-after-loadpub global run coverage:collect_coverage --port=12345 -o coverage.jsonpub global run coverage:format_coverage --packages=.packages-c -i coverage.json -o coverage.report在第5步之后,我会得到一个coverage.json包含一些数据的文件,但我不知道为什么覆盖率报告总是显示每个代码都没有覆盖。
我是否使用错误的流程来获取代码覆盖率?或者有什么更好的方法来做到这一点?
谢谢 !
有我的实验代码:
experiment_component.dart:
import 'package:angular/angular.dart';
@Component(
selector: 'experiment_component',
template: '<h1>{{greeting}}</h1>'
)
class ExperimentComponent {
String greeting = '';
void greet() {
greeting = 'Hello';
}
}
Run Code Online (Sandbox Code Playgroud)
experiment_component_test.dart:
@TestOn('browser')
@Tags(const ['aot'])
import 'package:angular/angular.dart';
import 'package:angular4_test/src/experiment_component.dart';
import 'package:angular_test/angular_test.dart';
import 'package:test/test.dart';
NgTestBed<ExperimentComponent> testBed;
NgTestFixture<ExperimentComponent> testFixture;
@AngularEntrypoint()
void main() {
tearDown(disposeAnyRunningTest);
setUp(() async {
testBed = new NgTestBed<ExperimentComponent>();
testFixture = await testBed.create();
});
test('should render Hello', () async {
await testFixture.update((comp)=> comp.greet());
expect(testFixture.text, contains('Hello'));
});
}
Run Code Online (Sandbox Code Playgroud)
.packages-c:
angular4_test:lib/
Run Code Online (Sandbox Code Playgroud)
coverage.report:
|import 'package:angular/angular.dart';
|
|@Component(
| selector: 'experiment_component',
| template: '<h1>{{greeting}}</h1>'
|)
|class ExperimentComponent {
|
| String greeting = '';
|
| void greet() {
0 greeting = 'Hello';
| }
|
|}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
144 次 |
| 最近记录: |