2016-09-13 2 views
0

karma와 jasmin으로 전체 TTD에 새로운 점이 있습니다. 내 DB에서 데이터를 가져 오는 서비스를 테스트하려고하는데, 오류가 계속 나타납니다. ReferenceError : 변수를 찾을 수 없습니다. : 카르마 테스트 - shim.js에 beforeEachProviders 여기 아래에있는 내 테스트 .. chaged RC6의 교수형 찾는 비트에Angular2 rc.6 Karma 테스팅

import { TracksServices } from './tracks.services.ts'; 

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

let service; 
//setup 
beforeEach(() => TestBed.configureTestingModule({ 
    imports: [ TracksModule, HttpModule ], 
    providers: [ 
     TracksServices 
    ], 
})); 

it('get 4 featured images', done => { 

    service.featured(1, 4).subscribe(x => { 

     expect(x).toContain(track); 
     expect(x.length).toEqual(4); 
     done(); 

    }); 

}); 

}); 

답변

1

테스트 API입니다.

예를 들어 angular2-webpack-startter에서 변경됩니다.

import { inject, TestBed } from '@angular/core/testing'; 

// Load the implementations that should be tested 
import { App } from './app.component'; 
import { AppState } from './app.service'; 

describe('App',() => { 
    // provide our implementations or mocks to the dependency injector 
    beforeEach(() => TestBed.configureTestingModule({ 
    providers: [ 
     AppState, 
     App 
    ] 
    })); 

    it('should have a url', inject([ App ], (app: App) => { 
    expect(app.url).toEqual('https://twitter.com/AngularClass'); 
    })); 

}); 

beforeEachProvider u를 설정해야하는 위치 TestBed.configureTestingModule() 를 제공하여 지금 제거하고 : [] 답장을

+0

덕분에 코드를 구현하는 데 성공하지만 지금은이 오류 PhantomJS를 얻을 수가 2.1 .1 (Mac OS X 0.0.0) 서비스 : TracksServices가 고객 정보를 가져와야합니다. FAILED \t 유형 오류 : undefined가 생성자가 아닙니다 ('....() 당신은 어떤 아이디어를 가지고,이 모든 단위 테스트에 새로운. 감사합니다 – user3355603

+0

내 대답을 업데이 트, 지금 문제를 해결했다. 당신은 큰 도움이되었다, 당신은 모든 각도 단위 테스트 자습서를 다 알고 있습니다 테 .. 정맥들 – user3355603

관련 문제