0
我正在使用angular-cli并试图进入测试服务的习惯,但我似乎无法将服务注入测试,这里是我的情况:Angular-cli - 测试服务
Angular2服务
@Injectable()
export class AppService{
}
噶测试 - 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
感谢您的帮助,让它工作!很好,我忘了现在的angular2文档有多详细。它似乎只与'useValue:'工作,但是,任何想法为什么这有效? –
咦?你的意思是当你做'新的AppService()'。如果是这样,那么我的意思是你应该忘记整个TestBed配置,并自己为测试创建一个新实例。否则,第一个代码仍然可以正常工作,但它可以简化为“提供程序:[AppService]” –
而且'useValue'是您希望使用自己创建的实例的时候。 'useClass'只有当你想让Angular创建它时 –