मैं डिफ़ॉल्ट रूप से "धीमे" के रूप में टैग किए गए कुछ स्वचालित परीक्षणों को अक्षम करना चाहता हूं लेकिन उपयोगकर्ता को एक सरल कमांड लाइन के साथ अपने निष्पादन को सक्षम करने की अनुमति देता हूं। मुझे कल्पना है कि यह एक बहुत ही सामान्य उपयोग मामला है।डिफ़ॉल्ट रूप से "धीमे" टैग किए गए स्केलेट्स को कैसे अक्षम करें, विकल्प के साथ निष्पादन की अनुमति दें?
import org.scalatest.FunSuite
import org.scalatest.tagobjects.Slow
class DemoTestSuite extends FunSuite {
test("demo test tagged as slow", Slow) {
assert(1 + 1 === 2)
}
test("demo untagged test") {
assert(1 + 1 === 2)
}
}
डिफ़ॉल्ट रूप से, sbt test
दोनों टैग और टैग नहीं किए गए परीक्षण चलेंगे:
इस टेस्ट स्वीट को देखते हुए।
अगर मैं अपने build.sbt को निम्नलिखित जोड़ें:
testOptions in Test += Tests.Argument("-l", "org.scalatest.tags.Slow")
तब मैं अपने वांछित डिफ़ॉल्ट व्यवहार टैग नहीं किए गए परीक्षण चलाने के लिए और धीरे टैग किए गए परीक्षण नहीं चलेंगे जहां मिलता है।
हालांकि, मैं एक कमांड लाइन विकल्प नहीं समझ सकता जो धीमा परीक्षण चलाएगा जब मैं उन्हें चलाने के लिए चाहता हूं। मैंने कई खोज की हैं और कई उदाहरणों की कोशिश की है। मैं कुछ हद तक आश्चर्यचकित हूं क्योंकि यह एक बहुत ही सामान्य परिदृश्य की तरह लगता है।
क्या आपने [इस आलेख] की जांच की है (http://alvinalexander.com/scala/scalatest-mark-tests-tags-to-include-exclude-sbt) बाहर? –
@ evan058, हाँ, और यह काम करता है, लेकिन यह सब कुछ चलाने के लिए डिफ़ॉल्ट व्यवहार छोड़ देता है। मैं धीमी परीक्षण को बाहर करने के लिए डिफ़ॉल्ट चाहते हैं। – clay
क्या आपने 'testOnly org.myorg। * - -n org.scalatest.tags.Slow' की कोशिश की है? [इस पृष्ठ] से (http://www.scalatest.org/user_guide/using_scalatest_with_sbt), अनुभाग "टैग के साथ टेस्ट शामिल करें और बहिष्कृत करें"। –