2010-03-30 13 views
45

R में यूनिट परीक्षण समर्थन की वर्तमान स्थिति क्या है एक आंकड़े प्रोग्रामिंग भाषा है। आर का हिस्सा पैकेज का उपयोग है, जो स्वयं आर भाषा में लिखे गए हैं। प्रोग्रामिंग सर्वोत्तम अभ्यास में इन पैकेजों के दौरान कार्यों को जांचने के दौरान यूनिट-परीक्षण का उपयोग शामिल होता है, जब उन्हें लिखा जा रहा है और जब उनका उपयोग किया जाता है।आर भाषा

मैं आर के भीतर इकाई परीक्षण के लिए कुछ पैकेज के बारे में पता कर रहा हूँ, इन किया जा रहा है

मुझे पता है कि इच्छुक हूँ;

क्या वहां कोई अन्य पैकेज हैं? लोगों के अनुभव को देखते हुए, क्या ये पैकेज विभिन्न चीजों पर उत्कृष्टता प्राप्त करते हैं? आर के लिए इकाई परीक्षण में कला की वर्तमान स्थिति क्या है?

उत्तर

30

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

RUnit xunit पर आधारित है, और इस तरह समझने में आसान है कि आपने अन्य भाषाओं से इसका कोई संस्करण उपयोग किया है।

svUnit RUnit के समान परीक्षणों का उपयोग करता है, लेकिन इंटरैक्टिव उपयोग में सहायता के लिए एक जीयूआई शामिल है।

testthat या तो संगत नहीं है, लेकिन इसमें बहुत सी सुविधाएं शामिल हैं और केवल उन फ़ाइलों पर परीक्षण निष्पादित करने की जांच कर सकती हैं जो बड़ी नहीं हैं, जो बड़ी परियोजनाओं का परीक्षण करने के लिए उपयोगी है।


कई साल बाद ...

RUnit और svUnit अभी भी संदेश और चेतावनी, और न ही परीक्षण कैशिंग के लिए चेक की जरूरत नहीं है, और भी बहुत विकास किया जा रहा होने लगते हैं नहीं है, इसलिए testthat नई परियोजनाओं के लिए आपकी पहली पसंद होनी चाहिए। आप परीक्षण testthat परीक्षणों को runittotestthat पैकेज का उपयोग करके परीक्षण कर सकते हैं।

+1

'svUnit' निरंतर एकीकरण टूल [हडसन] (https://hudson.dev.java.net/) द्वारा समझा जाता है जो आउटपुट भी प्रदान कर सकता है। – mariotomo

+1

अब भी ** [unitizer] (https://github.com/brodieG/unitizer) ** है, हालांकि अभी भी बीटा और गीथब में ('devtools :: install_github (" brodieg/unitizer ")')। यह मौजूदा ढांचे के लिए काफी अलग है क्योंकि यह परीक्षण अभिव्यक्तियों और परिणामस्वरूप वस्तुओं को आसान प्रतिगमन जांच की अनुमति देता है। – BrodieG

6

यहां कुछ चीज़ें हैं जिन्हें मैंने Google से प्राप्त किया है।

इस विषय पर मेलिंग सूची here पर चर्चा की गई थी जो ऊपर दिए गए पैकेजों का उल्लेख करती है। ऐसा लगता है कि रुनीट और स्विसिट एक ही टेस्ट कोड निष्पादित करेंगे, लेकिन रनिट में ट्रैकिंग और कोड कवरेज फ़ंक्शन भी हैं।

दो की तुलना http://rwiki.sciviews.org/doku.php?id=developers:runit

+0

रुनीट द्वारा प्रदान किए गए "कोड कवरेज" के बारे में, [यह संदेश] जांचें (https://sourceforge.net/mailarchive/message.php?msg_name=474C639E.5080900%40epigenomics.com)। यह नवंबर 2007 से है लेकिन यह अभी भी खड़ा है। – mariotomo

+0

@ मारियोतोमो: वह लिंक अब काम नहीं कर रहा है। कोई टिप्पणी या अद्यतन? – Iterator

+0

सीधा लिंक से बेहतर, यह संदेश ढूंढने का तरीका है। यह Sourceforge.net में 'रनिट' प्रोजेक्ट की 'रनिट-हेल्प' मेलिंग सूची में है। यह 'रनिट' के लेखक और 2007-11-27 18:36 को टाइमस्टैम्प किया गया है।»यह कहकर कि कृपया ध्यान दें कि निरीक्षण तंत्र का भारी उपयोग और परीक्षण नहीं किया जाता है क्योंकि यह एक अव्यवहारिक है क्योंकि एक समय में केवल एक समारोह कॉल को ट्रैक किया जा सकता है। यह कोड कवरेज टूल होने से बहुत दूर है। « – mariotomo

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