webpack quickstartプロジェクトを使用して角度2のテストでエラーが発生しました。角度2 rc7 - テストサービス - エラー:文字列のプロバイダがありません
Error: No provider for String! in config/karma-test-shim.js
Stringのプロバイダがない場合は、このエラーが発生したことはありません。私はその関連する私的なURLを理解しました:サービスコンストラクタの文字列ですが、どのように解決しますか?
は、ここに私のテストファイル
describe('http.ts',()=>{
beforeEach(()=>{
TestBed.configureTestingModule({
providers:[
SbHttp,
MockBackend,
BaseRequestOptions,
{ provide: Http, useFactory: (backend: MockBackend, defaultOptions: BaseRequestOptions) => {
return new Http(backend, defaultOptions);
}, deps: [MockBackend, BaseRequestOptions]}
],
imports: [
HttpModule
]
})
});
afterEach(()=>{
TestBed.resetTestingModule()
});
it('get() should work', inject([SbHttp],(sbHttp:SbHttp)=>{
expect(true).toBeTruthy()
}))
})
だとここで私は民間のURLに変更した場合はSbHttpサービス
@Injectable()
export class SbHttp{
private baseUrl:string;
constructor(private url:string, private headers:Headers, private http:Http
){
this.baseUrl = utils.stripTrailingSlash(url)
}
}
です:任意の私は
Can't resolve all parameters for SbHttp: (?, Headers, Http).
答えに感謝します!私はこの時間をより完全にDIを通して読むでしょう:) –