2 つのサービスがあり、そのうちの 1 つは別のサービスに依存しています。
UserService
:
@Injectable()
export class UserService {
constructor(private apiService: ApiService){}
...
}
ApiService
:
@Injectable()
export class ApiService {
constructor(){}
...
}
だから私の問題は、依存関係をApiService
テストに挿入するのに苦労していることですUserService
. これが私がユーザーサービス仕様に持っているものです。(インポートは省略):
describe('UserService', () => {
beforeEach(() => {
addProviders([
UserService,
provide(ApiService, {useClass: MockApiService})
]);
});
it('Should ...', inject([UserService], (service: UserService) => {
expect(true).toBe(true);
}));
})
これがスローするエラーは次のとおりです。
Error: Cannot resolve all parameters for 'UserService'(undefined). Make sure that all the parameters are decorated with Inject or have valid type annotations and that 'UserService' is decorated with Injectable.
私も試したのはApiService
、 のinject
中に を追加することでしit
たが、エラーは同じままなので、次のようになります。
it('Should ..., inject([UserService, ApiService] ...))
TypeScript を使用した Angular 2 RC4