मैं कोणीय 2 परीक्षण में नया हूं। मैं यह पता लगाने की कोशिश कर रहा हूं कि testsbed.get()
का उपयोग करने और परीक्षण स्तर पर केवल inject
का उपयोग करने में क्या अंतर है।testbed.get के बीच क्या अंतर है और कोणीय 2/जैस्मीन परीक्षण में इंजेक्ट करें?
जैसे:
beforeEach(() => {
TestBed.configureTestingModule({
providers: [SomeService]
});
const testbed = getTestBed();
someService= testbed.get(SomeService);
});
});
बनाम
it('test service', inject([SomeService], (someService: SomeService) => {
मैंने आपके लिए टैग और शीर्षक के लिए जैस्मीन जोड़ा। चूंकि यह महत्वपूर्ण तकनीक है, यह सवाल संबंधित है। – JGFMK
मेरे पास पूरा जवाब नहीं है, लेकिन कोड खोद रहा है: 'इंजेक्ट' कॉल 'testbed.get' आंतरिक रूप से। मुख्य अंतर यह है कि यदि आप 'इंजेक्ट' करने के लिए 'AsyncTestCompleter'' प्रदान करते हैं तो यह 'compileComponents' चलाएगा और प्रदान की गई वस्तु में 'किया गया' फ़ंक्शन है जो एसिंक परीक्षण के निष्पादन को पूरा करता है। ऐसा लगता है कि यह पुराना कोड है और इसे 'async (इंजेक्ट (' इसके बजाय। 'इस बिंदु से सिंटैक्स वरीयता पदार्थ की तरह दिखता है। – BrunoLM
v4 https://github.com/angular/angular/blob/4.3.x /packages/core/testing/src/test_bed.ts#L493 /v2 https://github.com/angular/angular/blob/2.0.x/modules/%40angular/core/testing/test_bed.ts#L404 – BrunoLM