2012-09-16 8 views
8

का उपयोग कर आरईएसटी एपीआई का परीक्षण मैं रीस्टफुल एपीआई का एक सेट बना रहा हूं और अब उनके लिए यूनिट परीक्षण लिखना आवश्यक है। मुझे यकीन नहीं है कि इकाई परीक्षण वास्तव में क्या परीक्षण करना चाहिए।PHPUnit

क्या यूनिट परीक्षण जांचना चाहिए कि सर्वर से प्राप्त प्रतिक्रिया विभिन्न इनपुट के लिए सही है या नहीं? यदि हां, तो क्या यह एक अच्छा अभ्यास है कि सही प्रतिक्रिया स्वरूपों का एक सेट पूर्व परिभाषित किया गया हो और उनके खिलाफ प्रतिक्रियाओं की जांच करें?

अद्यतन

मैं कर्ल के माध्यम से इन सेवाओं बोल रहा हूँ और मैं निश्चित रूप से स्थिति कोड देख सकते हैं। विभिन्न इनपुट के लिए प्रतिक्रिया भिन्न हो सकती है, तो क्या मुझे सभी संभावित प्रतिक्रियाओं की जांच करनी चाहिए?

आम तौर पर PHPUnit का उपयोग करके यूनिट परीक्षण को रीस्टफुल एपीआई के लिए कैसे किया जाता है?

उत्तर

4

यदि आपकी एपीआई की डेटा परत पर्याप्त रूप से सारणीबद्ध है, ताकि आप किसी दिए गए इनपुट के लिए लगातार और अनुमानित आउटपुट प्राप्त कर सकें, तो आपके परीक्षण मामलों में निश्चित रूप से इनपुट की कुछ सीमित सूची के लिए कुछ सामान्य आउटपुट अपेक्षाएं शामिल होनी चाहिए, उन्हें किसी भी त्रुटि के लिए परीक्षण करना चाहिए मामले आप ड्रम कर सकते हैं।

यदि आपका एपीआई एक अनुमानित स्थिति में डेटा परत के खिलाफ नहीं चल सकता है (उदाहरण के लिए, यदि यह लाइव डेटा से जुड़ा हुआ है, या डेवलपर्स के बीच साझा किया गया डेटा), तो आप बहुत खर्च कर रहे हैं डेटा के नए राज्य को सही तरीके से मॉडल करने के लिए अपने परीक्षणों को ठीक करने का समय। इससे यूनिट परीक्षण कम मूल्यवान होता है, क्योंकि आप उन्हें अक्सर नहीं चला सकते हैं, और चूंकि आपने कभी भी यह सुनिश्चित नहीं किया है कि परीक्षण विफलता डेटा में बदलाव या प्रोग्राम तर्क में बदलाव के कारण है या नहीं। चाहे वह यूनिट परीक्षण न होने का जोखिम से अधिक हो या नहीं, आपकी व्यक्तिगत स्थिति पर निर्भर करेगा (परीक्षण कितनी बार टूटता है, सेवा कितनी महत्वपूर्ण है, & सीटी)।

परीक्षण मामलों को चलाने के लिए PHPUnit का उपयोग करने के लिए, मैं विशेष रूप से इसका उत्तर नहीं दे सकता, लेकिन मुझे लगता है कि आप @basiljames के रूप में करेंगे; किसी दिए गए एंडपॉइंट के खिलाफ कॉल निष्पादित करें और सत्यापित करें कि प्राप्त प्रतिक्रिया आपकी अपेक्षाओं से सही ढंग से मेल खाती है। किसी अन्य इकाई परीक्षण से अलग नहीं, इस तथ्य को छोड़कर कि वे थोड़ा और धीरे-धीरे चल सकते हैं।

2

आप अपने परीक्षण मामलों के लिए जुनीट का उपयोग कर सकते हैं। आपको HTTP Status Code और बाद में, किसी भी विशेष विशेषता या मूल्य के लिए प्रतिक्रिया पर सामग्री की जांच करनी होगी।

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

  • कोई संबंधित समस्या नहीं^_^