change it to
it('Should ...', inject([UserService,ApiService], (service: UserService) => {
expect(true).toBe(true);
}));
I spent hours this morning in order to get the DI in an example like this
one to work.
On Thursday, 14 July 2016 09:03:47 UTC+1, Kirils Ladovs wrote:
>
> I have two services, and one of them is dependent on another:
>
> UserService:
>
> @Injectable()export class UserService {
> constructor(private apiService: ApiService){}
> ...}
>
> ApiService:
>
> @Injectable()export class ApiService {
> constructor(){}
> ...}
>
> So my problem is that I am struggling to inject the dependency, ApiService
> into
> my tests for the UserService. Here's what I have in the user service
> spec. (imports omitted):
>
> describe('UserService', () => {
> beforeEach(() => {
> addProviders([
> UserService,
> provide(ApiService, {useClass: MockApiService})
> ]);
> });
>
> it('Should ...', inject([UserService], (service: UserService) => {
> expect(true).toBe(true);
> }));})
>
> The error that this throws is:
>
> 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.
>
> What I also tried was to add the ApiService in the inject inside the it,
> but the error stays the same, so: it('Should ..., inject([UserService,
> ApiService] ...))
>
>
> Using Angular 2 RC4 with TypeScript
>
--
You received this message because you are subscribed to the Google Groups
"AngularJS" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/angular.
For more options, visit https://groups.google.com/d/optout.