के तहत कक्षा में दावा सक्षम करें मैं जावा assert
कथन द्वारा कुछ बार थोड़ा सा रहा हूं जो जुनीट टेस्ट सूट में विफल नहीं हुआ क्योंकि जुनीट के जेवीएम उदाहरण में दावा सक्षम नहीं थे। स्पष्ट होने के लिए, ये कार्यान्वयन के अंदर "ब्लैक बॉक्स" दावे हैं (इनवेरिएंट की जांच आदि), जो कि जुनीट द्वारा परिभाषित किए गए दावों को स्वयं परीक्षण नहीं करते हैं। बेशक, मैं टेस्ट सूट में ऐसी कोई दावा विफलताओं को पकड़ना चाहता हूं।जुनीट: परीक्षण
स्पष्ट समाधान वास्तव में सावधान जब भी मैं JUnit चलाने -enableassertions
उपयोग करने के लिए हो रहा है, लेकिन मैं एक और अधिक मजबूत समाधान पसंद करेंगे। एक विकल्प है कि प्रत्येक टेस्ट क्लास में निम्नलिखित टेस्ट जोड़ें:
@Test(expected=AssertionError.class)
public void testAssertionsEnabled() {
assert(false);
}
क्या इसे पूरा करने के लिए एक और स्वचालित तरीका है? JUnit के लिए एक सिस्टम-व्यापी विन्यास विकल्प? एक गतिशील कॉल मैं setUp()
विधि में डाल सकता हूं?
बस एक सामान्य प्रश्न बनाते समय है। यदि आप वास्तव में पूरी तरह से अपने कोड का परीक्षण करना चाहते हैं, तो क्या आप परीक्षण के बिना और बिना किसी परीक्षण के परीक्षण कर सकते हैं? अप्रत्याशित साइड इफेक्ट्स पेश करने के लिए एक बात यह है कि ** वास्तव में अच्छा ** है। –
बीटीडब्ल्यू। आप जुनीट टेस्टकेस कैसे चला रहे हैं? यदि आपके पास कुछ बिल्ड मैनेजर (चींटी, मैवेन) है तो यह स्विच – jitter
@Alexander द्वारा इस स्विच को जोड़ने के लिए छोटा होना चाहिए: यह एक बुरा विचार नहीं है। @jitter: बेशक आप सही हैं। मेवेन डिफ़ॉल्ट रूप से दावा सक्षम करने लगता है। इससे पहले मैंने ग्रहण नहीं किया था कि ग्रहण के लिए इसकी प्राथमिकता सेटिंग है। समस्या यह है कि इस प्रकार की सेटिंग्स आपकी पीठ के पीछे बदल सकती हैं ... –