2009-02-02 25 views
59

मैं कुछ ओओ पर्ल प्रोग्रामिंग कर रहा हूं और मैं सोच रहा था: यूनिट परीक्षण करने का सबसे अच्छा तरीका कौन सा है?मैं पर्ल में यूनिट परीक्षण कैसे कर सकता हूं?

अब तक मैं परीक्षण करने के लिए Test::Simple मॉड्यूल का उपयोग कर रहा हूं, लेकिन मुझे लगता है कि जो मैं चाहता हूं उसके लिए अपर्याप्त है।

क्या आप मुझे इसके लिए कुछ अच्छे मॉड्यूल के लिए इंगित कर सकते हैं?

उत्तर

47

मैं पर्ल परीक्षण में किसी भी आगे जाने से पहले Test::More उठा करने के लिए अपने वोट जोड़ने चाहते हैं। Perl testing communityTest Anything Protocol के आस-पास काफी अच्छी तरह से एकजुट है, और आप यह समझने के लिए Test::More के साथ खेलना चाहेंगे कि यह कैसे काम करता है और prove और Test::Harness::Archive जैसे टूल परीक्षण को स्वचालित और वितरित करने में सहायता कर सकते हैं।

यदि आप बस "सही कूदें" चाहते हैं, तो मुझे लगता है कि Test::ClassTAP बैकएंड के साथ xTest सुविधाएं प्रदान करता है। मैंने इसका बिल्कुल उपयोग नहीं किया है (मैं खुद Test::More व्यक्ति हूं), लेकिन यह very highly rated है।

+1

पर परीक्षण कर रहा हूं महान परिचय, धन्यवाद! मैं पाइथन और PHP के लिए यूनिट परीक्षण करने के लिए उपयोग किया जाता हूं, लेकिन जल्द ही एक पीआरएल प्रोजेक्ट में शामिल होगा, आपकी पोस्ट निश्चित रूप से मुझे शुरू करने में मदद करती है :) – warp

18

टेस्ट :: टेस्ट :: सरल के लटकने के बाद आपको अपने रुपये के लिए और अधिक धमाके की पेशकश करनी चाहिए।

इसके अलावा, आप तुम्हारा द्वारा इस पिछली चर्चा का उल्लेख कर सकते वास्तव में यदि आप अधिक जानकारी चाहते हैं: how-can-i-implement-tdd-in-perl

+0

मैं एक सेटअप और आंसू विधि आदि के साथ जुनीट या न्यूटिट के करीब कुछ ढूंढ रहा हूं ... कोई विचार है? – mandel

+0

@ मंडल आप Winx मंच पर चल रहे हैं? – melaos

+0

हाँ मैं एक विन सर्वर या एक एक्सपी डेस्कटॉप – mandel

12

मेलेस उत्तर पर आपकी टिप्पणियों के आधार पर, मैं कहूंगा कि Test::Class या Test::Unit वह है जिसे आप ढूंढ रहे हैं।

+0

टेस्ट :: यूनिट 2016 तक काफी ज्यादा छोड़ दिया गया है - http: // perlunit .sourceforge.net/कहते हैं "हाल ही में 2011 के रूप में .."। –

+0

देखें http://stackoverflow.com/questions/2876091/what-is-the-preferred-unit-testing-framework-for-perl/39605597#39605597 –

11

सरल परीक्षण उदाहरण:

#!/usr/bin/perl -w 

use strict; 
use warnings 'all'; 
use Test::More plan => 4; # or use Test::More 'no_plan'; 

use_ok('My::Module', 'Loaded My::Module'); 
ok(my $obj = My::Module->new(), 'Can create instance of My::Module'); 

ok($obj->value('hello'), 'Set value to hello'); 
is($obj->value => 'hello', 'value is still hello'); 
संबंधित मुद्दे