2011-08-23 9 views
5

संदर्भ के साथ एक स्टैक ट्रेस प्राप्त करना संदर्भ: एसबीटी द्वारा प्रबंधित एक परियोजना में स्काला यूनिट-परीक्षण लिखना।एसबीटी से स्कैला

Test com.reach.ml.test.TestLSHEasy.T0 failed: assertion failed 

यह मुझसे कहता है जो इकाई परीक्षण का कारण:

जब मैं sbt test निष्पादित मेरी चलाने के लिए यूनिट का परीक्षण करती है एक ज़ोर मेरी कोड में कहीं विफल रहता है, मैं की तरह निम्नलिखित (और कुछ नहीं) कुछ पाने जोर देकर कहते हैं, लेकिन यह नहीं कहता कि यह था। अगर मैं सीधे एक ही परीक्षण चलाता हूं (एसबीटी का उपयोग नहीं कर रहा हूं), मुझे एक संपूर्ण स्टैक ट्रेस मिलता है, जो डिबगिंग के लिए बहुत उपयोगी है। तो मेरा सवाल: जब टेस्ट क्रैश हो जाता है तो मैं स्टैक ट्रेस को मुद्रित करने के लिए एसबीटी कैसे प्राप्त करूं?

+0

'अंतिम परीक्षण' नहीं है जो आपको परीक्षण निष्पादन के सभी आउटपुट दिखा रहा है? – Geo

+0

नहीं, चीजें काम करते समय परीक्षण से संबंधित आउटपुट की पूरी तरह है: "" [जानकारी] उत्तीर्ण:: कुल 9, असफल 0, त्रुटियां 0, उत्तीर्ण 9, स्किप 0 [सफलता] कुल समय: 9 एस , 22 अगस्त, 2011 11:33:29 अपराह्न को पूरा किया गया "" यदि कोई त्रुटि है, तो बस पहली पंक्ति पोस्ट की गई है और दूसरा जो अनिवार्य रूप से वही बात कहता है। – emchristiansen

+0

क्या भौगोलिक अर्थ यह है कि, जब 'परीक्षण' एसबीटी पर अपवाद के साथ विफल रहता है, तो 'अंतिम परीक्षण' टाइप नहीं करता है तो पूरा अपवाद दिखाता है? –

उत्तर

2

xsbt के संबंध में, यह util.log.StackTrace ऑब्जेक्ट से संबंधित हो सकता है जो इसके आउटपुट को ट्रिम कर सकता है।

तो आप डिफ़ॉल्ट रूप से उस का पता लगाने नहीं देखना चाहिए:
issue 118 स्टैक ट्रेस रखने बेहतर नियंत्रण में होना चाहिए की इच्छा सचित्र।

हो सकता है कि आप अपनी इकाई परीक्षण लपेट कर सकते हैं, किसी भी अपवाद अवरोध उत्पन्न कर रहा है, और स्पष्ट रूप से उनके पूर्ण स्टैक ट्रेस मुद्रण? (Basic.scala या Boot.scala में)।

+1

धन्यवाद। ऐसा लगता है कि त्रुटि प्रिंटिंग को साफ़ करने का प्रयास करते समय डेवलपर्स थोड़ा ओवरबोर्ड चला गया। किसी भी मामले में, एसबीटी एक अच्छा उपकरण है और कोशिश/पकड़ ब्लॉक के साथ लपेटना, आदर्श नहीं है, मुश्किल नहीं है। – emchristiansen

संबंधित मुद्दे