2016-08-11 8 views
12

हटा दिया गया है, इसलिए, कोणीय 2 के संस्करण आरसी 5 में, उन्होंने HTTP_PROVIDERS को हटा दिया और HttpModule पेश किया। मेरे आवेदन कोड के लिए, यह ठीक काम कर रहा है, लेकिन मैं अपने जैस्मीन परीक्षण में बदलाव करने के लिए संघर्ष कर रहा हूं।एनजी 2 आरसी 5: HTTP_PROVIDERS को

यहां मैं अपने चश्मा में वर्तमान में क्या कर रहा हूं, लेकिन चूंकि HTTP_PROVIDERS को बहिष्कृत किया गया है, अब मुझे क्या करना चाहिए? क्या मुझे कुछ चाहिए HTTP_PROVIDERS के बजाय प्रदान करें? आरसी 5 दुनिया में ऐसा करने का सही तरीका क्या है?

beforeEach(() => { 
    reflectiveInjector = ReflectiveInjector.resolveAndCreate([ 
    HTTP_PROVIDERS, 
    ... 
    ]); 

    //other code here... 
}); 

it("should....",() => { ... }); 
+1

HTTP_PROVIDERS पदावनत किया गया है और द्वारा प्रतिस्थापित 'एचटीपी मॉड्यूल'। – micronyks

+0

बढ़िया, वह हिस्सा मुझे मिलता है। अब, आप जैस्मीन परीक्षण में इसका उपयोग कैसे करते हैं? :) – hartpdx

+0

मेरे पास एक ही सटीक समस्या है, यहां तक ​​कि एक बग भी खोला गया क्योंकि यह एक प्रमुख विशेषता थी और मुझे नहीं लगता कि अब इसका उपयोग कैसे किया जा सकता है ... :( – born2net

उत्तर

11

अब हटाए गए HTTP_PROVIDERS को HttpModule के साथ बदल दिया गया है आरसी 5।

describe("test description",() => { 
    beforeEach(() => { 
     TestBed.configureTestingModule({ 
      imports: [HttpModule], 
      providers: [SomeService] 
     }); 
    }); 
    it("expect something..",() => { 
     // some expectation here 
     ... 
    }) 
}) 

यह मैं कैसे RC5 साथ काम करने के मेरे इकाई सेवा परीक्षण हो गया है, उम्मीद है कि यह जीत है ':

के भीतर अपने ब्लॉक का वर्णन है, अपेक्षित आयात और प्रदाताओं सरणी के साथ TestBed.configureTestingModule जोड़ने नीचे की तरह जिम्मेदार बताते हैं अगले रिलीज उम्मीदवारों और अंतिम संस्करण के बीच में बदलाव नहीं करना है। यदि आप मेरे जैसे हैं, तो आप शायद रिलीज उम्मीदवारों के बीच होने वाली बहिष्कार की मात्रा से निराश हैं। मुझे उम्मीद है कि चीजें जल्द ही स्थिर हो जाएंगी!

+0

'@ कोणीय/http' से 'आयात {HttpModule} करें;'। –

2

प्री-आरसी 5 कोड से आरसी 6 में अपडेट करते समय मैं इसी तरह की समस्या में भागता हूं। इस RC6 कोड (जो, मुझे लगता है, यह भी RC5 के लिए काम करना चाहिए) के साथ

import { ReflectiveInjector, provide } from '@angular/core'; 
import { HTTP_PROVIDERS, RequestOptions } from '@angular/http'; 

export function main() { 
    describe('My Test',() => { 
    let myService: MyService; 

    beforeAll(() => { 
     let injector = ReflectiveInjector.resolveAndCreate([ 
     HTTP_PROVIDERS, 
     provide(RequestOptions, { useValue: getRequestOptions() }), 
     MyService 
     ]); 
     myService = injector.get(MyService); 
    }); 

    it('should be instantiated by the injector',() => { 
     expect(myService).toBeDefined(); 
    }); 
... 

: ऊपर जो डब्ल्यू के जवाब पर विस्तार करने के लिए, मैं इस कोड की जगह

import { TestBed } from '@angular/core/testing'; 
import { HttpModule, RequestOptions } from '@angular/http'; 

export function main() { 
    describe('My Test',() => { 
    let myService: MyService; 

    beforeAll(() => { 
     TestBed.configureTestingModule({ 
     imports: [HttpModule], 
     providers: [ 
      { provide: RequestOptions, useValue: getRequestOptions() }, 
      MyService 
     ] 
     }); 
     myService = TestBed.get(MyService); 
    }); 

    it('should be instantiated by the testbed',() => { 
     expect(myService).toBeDefined(); 
    }); 
... 
संबंधित मुद्दे