可以使用https://github.com/smnbbrv/ngx-spec为现有的.ts文件创建脚手架
在 Angular 项目中安装:
npm i -D ngx-spec@^2.0.0
(-D 是 --save-dev 的简写)
示例用法(用于服务):
ng g ngx-spec:spec path/my.service
或
ng g ngx-spec:spec path/my.service.ts
对于服务,这不会设置要通过注入创建的测试。调整以使测试看起来像这样:
import { TestBed, inject } from '@angular/core/testing';
import { DataService } from './data.service';
import { AuthService } from './auth.service';
import { HttpClient, HttpHandler } from '@angular/common/http';
describe('DataService', () => {
beforeEach(() => {
TestBed.configureTestingModule({
providers: [DataService, AuthService, HttpClient, HttpHandler
]
});
});
it('should be created', inject([DataService, AuthService], (service: DataService) => {
expect(service).toBeTruthy();
}));
});
这也意味着可以使用通配符生成测试,例如
ng g ngx-specs '**/*
这对我不起作用 - 请参阅 GitHub 问题:
https://github.com/smnbbrv/ngx-spec/issues/10
注意 - 作为实施测试驱动开发的一种策略,我发现搜索和删除所有现有的 *.spec.ts 文件是最简单的方法,这些文件是在初始阶段自动在 Angular 项目中创建的工件创建(通过在 Windows 资源管理器中搜索),然后作为起点,我使用 ngx-spec
为主要的 Angular 数据提供程序服务创建了一个测试