2011-08-09 10 views
35

एसबीटी 0.10.1 में, मैं अक्सर अपने परीक्षणों की संख्या को कम करने के लिए test-only का उपयोग करता हूं।केवल नियमित अभिव्यक्ति से मेल खाने वाले परीक्षण निष्पादित करने के लिए कैसे करें?

sbt> test-only com.example.MySpec 

हालांकि, मैं इस तरह से संकुचित करना चाहता हूं कि मैं केवल उन परीक्षणों को चलाता हूं जिनके नाम/विवरण नियमित अभिव्यक्ति से मेल खाते हैं। क्या ऐसा कुछ हासिल करने के लिए कुछ वाक्यविन्यास है?

sbt> test-only .*someRexExp.* 
+1

यदि ऐसा नहीं है (मुझे शक है, अगर यह काम नहीं करता है), तो यह एसबीटी के बगट्रैकर में एक सुविधा अनुरोध होना चाहिए, यहां नहीं। – Raphael

+1

मैं केवल आपकी प्रोजेक्ट फ़ाइल को संपादित करने का सुझाव दे सकता हूं, क्योंकि यह regex स्वीकार करता है। –

उत्तर

47

पूर्ण नियमित अभिव्यक्ति testOnly द्वारा समर्थित नहीं हैं। वाइल्डकार्ड समर्थित हैं, हालांकि।

sbt> testOnly com.example.*Spec 

केवल तारांकन * विशेष रूप से यहां व्याख्या की और अवधि नहीं है। यह com.example. से शुरू होने वाले सभी परीक्षणों का चयन करेगा और Spec के साथ समाप्त होगा।

या बस सभी परीक्षण Spec रों:

sbt> testOnly *Spec 

testOnly और अन्य परीक्षण जानकारी यहाँ प्रलेखित है: http://www.scala-sbt.org/release/docs/Detailed-Topics/Testing

8

आप उनके नाम (बजाय या के अलावा द्वारा मामलों परीक्षण पर मिलान कर सकते हैं सुइट क्लास नाम) framework-specific runner arguments का उपयोग करके। -z तर्क के साथ ScalaTest supports a substring match:

> testOnly -- -z insert 
> testOnly *TreeSpec -- -z insert 

यह "सम्मिलित" उनके नाम में, तो केवल TreeSpec में समाप्त होने सुइट्स के भीतर मिलान मामलों, आप Intuit में के रूप में के साथ सभी परीक्षणों चलाता है। आप सटीक परीक्षण नाम से मेल खाने के लिए और -l TagName का उपयोग क्रमशः, स्कैलाटेस्ट के टैगिंग समर्थन से टैग, और -t से टैग या बहिष्कृत करने के लिए भी कर सकते हैं।

एक -ex तर्क के साथ Specs2 supports full Java regular expressions:

> testOnly -- -ex ".*someRexExp.*" 

-include और -exclude समर्थन Spec2 की टैगिंग सुविधाओं।

धावकों का समर्थन करने वाले तर्कों की पूरी सूचियों के लिए इनलाइन लिंक देखें। ये केवल testOnly एसबीटी कमांड के साथ काम करते हैं और test पर काम नहीं करते हैं।

+1

यह भी उल्लेखनीय है कि, यदि आप पहले एसबीटी दर्ज किए बिना इसे चाहते हैं, तो आपको एसबीटी के बाद तर्कों को सही ढंग से उद्धृत करना होगा: 'sbt "testOnly - -z डालें" –

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

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