JUnit ढांचे में 2 Assert
वर्ग (विभिन्न पैकेजों में, स्पष्ट रूप से) और प्रत्येक पर विधियां समान होती हैं। क्या कोई समझा सकता है कि यह क्यों है?
जिन कक्षाओं का मैं जिक्र कर रहा हूं, वे हैं: junit.framework.Assert
और org.junit.Assert
।
JUnit ढांचे में 2 Assert
वर्ग (विभिन्न पैकेजों में, स्पष्ट रूप से) और प्रत्येक पर विधियां समान होती हैं। क्या कोई समझा सकता है कि यह क्यों है?
जिन कक्षाओं का मैं जिक्र कर रहा हूं, वे हैं: junit.framework.Assert
और org.junit.Assert
।
जवाबों:
पुरानी विधि (जुइनिट 3 की) का विस्तार करके परीक्षण-कक्षाओं को चिह्नित करना था junit.framework.TestCase
। यह विरासत में junit.framework.Assert
ही मिला और आपके परीक्षण वर्ग ने इस तरह से मुखर तरीकों को कॉल करने की क्षमता प्राप्त की।
JUnit के संस्करण 4 के बाद से, फ्रेमवर्क Annotations
अंकन परीक्षणों के लिए उपयोग करता है । इसलिए अब आपको विस्तार करने की आवश्यकता नहीं है TestCase
। लेकिन इसका मतलब है, मुखर तरीके उपलब्ध नहीं हैं। लेकिन आप नए Assert
वर्ग का स्थैतिक आयात कर सकते हैं । यही कारण है कि नई कक्षा में सभी मुखर तरीके स्थिर तरीके हैं। तो आप इसे इस तरह से आयात कर सकते हैं:
import static org.junit.Assert.*;
इस स्थैतिक आयात के बाद, आप उपसर्ग के बिना इस तरीके का उपयोग कर सकते हैं।
नए स्वरूप में वे नए पैकेज में चले गए org.junit
जो पैकेज नामकरण के लिए सामान्य सम्मेलनों का बेहतर पालन करते हैं।
वहाँ वास्तव में एक कार्यात्मक परिवर्तन है: org.junit.Assert
अगर आप दो तर्क का उपयोग शिकायत assertEquals()
के साथ float
या double
है, जबकि junit.framework.Assert
उसे बिना किसी autobox होगा।
मैंने एक मोटे स्रोत कोड की तुलना की और कोई गंभीर बदलाव नहीं हुआ। बहुत सारी टिप्पणियों को जोड़ा गया org.junit.Assert
और कुछ रिफ्लेक्टरिंग किए गए। केवल परिवर्तन के साथ तुलना है Arrays
। कुछ कोड क्लीनअप हैं, लेकिन इसमें (imho) कोई कार्यात्मक परिवर्तन नहीं है ।
एंड्रॉइड स्टूडियो में (और इंटेलीज में भी), आप वैश्विक रूप junit.framework
से ऑटो-आयात प्रस्ताव से बाहर कर सकते हैं ।
आप के बीच की गुंजाइश निर्धारित कर सकते हैं IDE
या Project
। यदि आपके पास ऐसी परियोजनाएं नहीं हैं जो JUnit 3 का उपयोग करती हैं तो आप सुरक्षित रूप से IDE दायरे में रह सकते हैं।
सेटिंग की स्थिति:
वरीयताएँ -> संपादक -> सामान्य -> ऑटो आयात
junit.framework.*
स्थैतिक आयात ड्रॉपडाउन से बाहर कर सकते हैंEditor->General->Auto Import->Exclude from Import and Completion
।