2017-05-02 7 views
1

私はジャスミンで新しく、ジャスミンで自分のイオン2サービスをテストしようとしています。ジャスミンテストサービスionic 2 app

マイサービス:

import {Injectable} from '@angular/core'; 
import 'rxjs/add/operator/map'; 
import {Observable} from 'rxjs/Observable'; 
import {User} from '../Entity/user'; 
import {SecureStorageServices} from '../Providers/secureStorageServices'; 

@Injectable() 

export class myService { 

    constructor(private secureStorageServices: SecureStorageServices, private user: User) { 
    } 
//Some other methods which I want to unit test. 

私は私のコンストラクタでサービスする必要があります。

は、私が実行しようとしました:

describe('Service: my Service',() => { 


it('should do xxx',() => { 
    let service = new myService(); 

     expect(service).toBeDefined(); 
}); 

問題:私の新しいサービスは、パラメータがありませんし、動作しません。

私は行方不明を知っていますか? ありがとう

答えて

1

関連するインポートを保持するTestBedを使用してサービスを作成する必要があります。何らかの理由でコンストラクタにパラメータを挿入する必要があるからです。

だから、次のように行く必要があります。

describe('Service: my Service',() => { 
    beforeEach(async(() => { 
    TestBed.configureTestingModule({ 
     declarations: [], 
     imports: [ 
     ], 
     providers: [ 
     SecureStorageServices, // all related providers here 
     User, 
     myService 
     ] 
    }) 
    })); 

    it('should do xxx', inject([myService], (service) => { 
     expect(service).toBeDefined(); 
    })); 
}); 
関連する問題