我正在使用angular-cli,并试图进入测试我的服务的习惯,但我似乎无法在这里将服务注入测试我的情况:< / p>
Angular2服务
@Injectable()
export class AppService{
}
Karma Test - V1.3.0
这是正确的语法吗?它似乎在angular2的初始版本中发生了变化。
describe('Tests', () => {
beforeEach(() => [
{provide: AppService, useClass: AppService}
]);
it('should create an instance', inject([AppService], (service: AppService) => {
expect(service).toBeTruthy();
}));
});
这是正确的语法吗?它似乎在angular2的初始版本中发生了变化。
测试错误
Tests should create an instance FAILED
Error: No provider for AppService!
我的配置
angular-cli: 1.0.0-beta.21
node: 6.5.0
os: win32 x64
答案 0 :(得分:3)
如果要注入它,仍然需要使用TestBed
来配置Angular测试环境
import { TestBed } from '@angular/core/testing';
beforeEach(() => TestBed.configureTestingModule({
providers: [ {provide: AppService, useClass: AppService} ]
}));
*注意:**如果服务没有任何其他依赖项,您可能只想忘记Angular配置,只需通过自己实例化服务来进行隔离测试。
let service = new AppService();
另见: