2016-09-13 107 views
0

Im新的整體TTD與業力和茉莉,我試圖運行測試我的服務,從我的數據庫拉數據,但我不斷收到錯誤說ReferenceError:找不到變量:beforeEachProviders在karma-test-shim.js這裏是我的測試如下..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

在RC6 littel位chaged測試API。

例如angular2-webpack-starter的變化。

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被刪除,現在用TestBed.configureTestingModule() 其中u應設置提供:[]

+0

感謝您的答覆,成功地實現你的代碼,但現在我似乎得到這個錯誤PhantomJS 2.1 .1(Mac OS X 0.0.0)服務:跟蹤服務應該獲取客戶詳細信息失敗 \t TypeError:undefined不是構造函數(靠近'.... map(function(res){re ...')你有任何想法,新的單元測試。謝謝 – user3355603

+0

我更新了我的答案,現在解決了這個問題。你是一個很大的幫助,你知道任何angular2單元測試教程是達到達te..thanks – user3355603

相關問題