2016-01-02 15 views
7

Come scrivere banco di prova gelsomino per l'aver costruttore della seguente classe che sta avendo dipendenza httpservizio angular2 di misura a costruttore con http dipendenza

import {Injectable} from 'angular2/core'; 
import {Http, HTTP_PROVIDERS} from 'angular2/http'; 

@Injectable() 
export class MockUserService { 
    items:Array<any>; 

    constructor(http:Http){ 
     http.get('http://127.0.0.1:8080/src/data/names.json') 
     .subscribe(res => { 
      this.items = res; 
      console.log('results found'); 
     }) 
    } 
} 

ho provato in modo seguente,

it('Testing user login', inject([MockUserService,Http], (mockUserService:MockUserService) => { 
    let http:Http; 
     let mockUserService: MockUserService = new MockUserService(http); 
    expect(1+1).toEqual(2); 

    }); 
); 

Ricevo l'errore DI: DI error Image

risposta

1

È possibile utilizzare beforeEachProviders a DI facilmente come di seguito:

beforeEachProviders(() => [ 
    HTTP_PROVIDERS, 
    MockUserService 
]); 

describe('MockUser Service',() => { 
    it('Testing user login', 
    inject([MockUserService], (service: MockUserService) => { 
     expect(1 + 1).toEqual(2); 
    })); 
}); 

Spero che questo vi aiuterà a (di almeno 6 mesi fa).

Problemi correlati