2015-10-04 9 views
8

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

है यह संभव करने के लिए:

  1. सुनिश्चित करें कि बुनियादी परीक्षण हमेशा पहले
  2. एक परीक्षण-विफलता परीक्षण प्रक्रिया

उत्तर

5

रोकने आपके प्रश्न का उत्तर देने से किया जाता है, मैं ' टी लगता है कि यह आपके test-*.R फ़ाइलों के उचित अल्फान्यूमेरिक नामकरण के अलावा निर्धारित किया जा सकता है।

testthat स्रोत से, इस समारोह जो कॉल test_package, test_dir के माध्यम से है, परीक्षण पाने के लिए:

find_test_scripts <- function(path, filter = NULL, invert = FALSE, ...) { 
    files <- dir(path, "^test.*\\.[rR]$", full.names = TRUE) 

क्या सिर्फ जटिल कार्य दे साथ कुछ गड़बड़ है पहले, वैसे भी असफल?

+0

* "क्या गलत है ..." *? मेरा पहला विचार "गणना करने का समय" है, जो तेजी से असफल उपाध्यक्ष की प्रतीक्षा में है। (मेरी परियोजनाओं में से एक को सभी परीक्षणों के माध्यम से अनिवार्य रूप से 15-20 मिनट की आवश्यकता होती है। इसके अतिरिक्त मेरे पास परीक्षणों के बीच निर्भरताएं होती हैं: एक परीक्षण पर्यावरण को स्थापित करता है, अन्य परीक्षण घटकों का पुन: उपयोग करते हैं। कई मामलों में परीक्षण तोड़ना मेरे मामले में उपयोगी है, स्वीकार्य रूप से नहीं सब।) – r2evans

+1

उचित बिंदु। यह मुश्किल है लेकिन परीक्षणों को विभाजित करना संभव है, जिनमें से कुछ सीआरएएन परीक्षण पर चलते हैं, यदि यह आपके लिए महत्वपूर्ण है। एक विशेष परीक्षण सूट चलाने के लिए केवल एक कमांड लाइन तर्क की आवश्यकता होती है, लेकिन Rstudio के साथ बिल्कुल एकीकृत नहीं होती है, और दो समूहों के बीच परीक्षण सामग्री साझा करने या टेस्टथैट का उपयोग करने के लिए, शायद सभी को सिर्फ रखरखाव और ब्रेक चीजों की आवश्यकता होती है। इस प्रकार मैं आपसे सहमत हूं! –

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