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創建它時 –