यदि आप टर्मिनल से परीक्षण चलाकर अधिक वर्णनात्मक त्रुटि संदेश प्राप्त करते हैं, तो इस तरह से प्रयास करें:
ng test -sm=false
आपके परीक्षण में, आप प्रतिस्थापित कर सकते हैं
it('should...')
साथ में
fit('should...')
अब केवल फिट होने से पहले के परीक्षण चलेंगे। परीक्षण चलाने के बाद ब्राउज़र को खुला छोड़ने के लिए, परीक्षण को इस तरह से चलाएं:
ng test -sm=false --single-run false
व्यक्तिगत रूप से, मुझे दो बार इस त्रुटि का सामना करना पड़ा है। फिक्सचर .etectChanges () कहते समय दोनों को केवल ट्रिगर किया गया था।
पहली बार, मैं इसे अपने .html फ़ाइल में अधिक सुरक्षित रूप से स्ट्रिंग प्रक्षेप का उपयोग करके हल किया।
असुरक्षित उदाहरण:
<p>{{user.firstName}}</p>
सुरक्षित (r) उदाहरण (प्रश्न चिह्न पर ध्यान दें):
<p>{{user?.firstName}}</p>
वही संपत्ति बंधन पर लागू हो सकता है:
<p [innerText]="user?.firstName"></p>
दूसरी बार, मैं अपने .html फ़ाइल में एक DatePipe उपयोग कर रहा था, लेकिन नकली संपत्ति है कि मैं पर यह प्रयोग किया जाता एक तारीख नहीं था।
.html फ़ाइल:
<p>{{startDate | date: 'dd-MM-yyyy'}}</p>
.ts (नकली-डेटा) फ़ाइल ( गलत ):
let startDate = 'blablah';
.ts (नकली-डेटा) फ़ाइल ( सही ):
let startDate = '2018-01-26';