मैं PHPUnit को देख रहा हूं और निम्नलिखित में मुझे आश्चर्य है। PHPUnit int संभालता है या नहीं करता है। बूलियन के रूप में 1 और 0 है? मेरे वर्तमान परीक्षण में, यह नहीं है।PHPUnit Assert True One (1)
उदाहरण: $this->assertTrue(preg_match('/asdf/', 'asdf'));
मेरी परीक्षण इस preg_match के रूप में, विफल रहता है() पूर्णांक 1 या 0 लौटा रहा है और केवल झूठे bool यदि कोई त्रुटि होती है।
मैं इसे निम्नलिखित कार्य करता हूं, जाहिर है, क्योंकि तुलना हमेशा बूल लौटती है। $this->assertTrue(preg_match('/asdf/', 'asdf') === 1);
क्या मुझे अपने preg_match में कुछ याद आ रहा है, या इसे बनाने के लिए मेरा दावा .... कम सख्त?
संपादित करें: क्या assertTrue को मिलान करने के लिए प्रकार की आवश्यकता होती है? क्या दावा कम सख्त बनाने का कोई तरीका है?
यह नहीं करता है ':
हालांकि, PHPUnit नियमित अभिव्यक्ति के खिलाफ स्ट्रिंग की जाँच के लिए समर्पित अभिकथन के लिए होता है मेरे सवाल का जवाब नहीं है, लेकिन निश्चित रूप से एक योग्य टिप्पणी है। धन्यवाद, ध्यान दिया। – alairock
'assertTrue' वास्तविक' सत्य 'मान की जांच करता है, कुछ "सच्चाई" नहीं "1" के रूप में। – Sven
अधिक विशिष्ट होने के लिए, मैं समझता हूं कि आप क्या कह रहे हैं: PHPUnit में 'assertTrue' एक "ट्रिपल-बराबर" तुलना करता है, न कि "डबल-बराबर" तुलना। (देखें 'var_dump (1 == सत्य);' और 'var_dump (1 === सच); 'पहला वापस सच आता है और दूसरा वापस झूठ आता है, क्योंकि" ट्रिपल-बराबर "भी प्रकार से मेल खाता है। इस प्रकार मेरा प्रश्न। मैं मूल को विशिष्ट के रूप में संपादित कर दूंगा। – alairock