मैं स्कैलाटेस्ट के साथ कुछ परीक्षण चला रहा हूं जो सर्वरों का परीक्षण करने के लिए कनेक्शन पर भरोसा करते हैं। मैं वर्तमान में मेरे अपने युक्ति इस के समान बनाया:स्कैलाटेस्ट के साथ प्रोग्रामेटिक रूप से अनदेखा/स्किप कैसे करें?
abstract class ServerDependingSpec extends FlatSpec with Matchers {
def serverIsAvailable: Boolean = {
// Check if the server is available
}
}
यह जब इस विधि रिटर्न false
अनदेखी करने के लिए (लेकिन असफल नहीं) परीक्षण संभव है?
वर्तमान में मैं एक "hackish" तरीके से कार्य करें:
"Something" should "do something" in {
if(serverIsAvailable) {
// my test code
}
}
लेकिन मैं
whenServerAvailable "Something" should "do something" in {
// test code
}
या
"Something" should "do something" whenServerAvailable {
// test code
}
कुछ की तरह मुझे लगता है कि मैं अपने कस्टम टैग परिभाषित करना चाहिए चाहते हैं , लेकिन मैं केवल in
या ignore
के स्रोत कोड का संदर्भ ले सकता हूं और मुझे समझ में नहीं आता कि मैं कैसे sh sh मेरे कस्टम कार्यान्वयन में प्लग होगा।
मुझे इसे कैसे पूरा करना चाहिए? http://www.scalatest.org/user_guide/tagging_your_tests
जोड़ना और आदेश पंक्ति पैरामीटर के साथ टैग परीक्षण को हटाने: http://www.scalatest.org/user_guide/using_the_runner#specifyingTagsToIncludeAndExclude
उदाहरण कोड टैग का उपयोग कैसे करें पर
प्रलेखन:
मुझे यह भी मिला, लेकिन दस्तावेज़ केवल यह संदर्भ देता है कि कमांड लाइन पर इसे कैसे किया जाए। हालांकि, मैं जेनकींस पर 'एसबीटी टेस्ट' चला रहा हूं, और जब सर्वर उपलब्ध नहीं है तो मैं प्रोग्राम को प्रोग्रामिक रूप से छोड़ना चाहता हूं। – rabejens
इसलिए सर्वर उपलब्ध होने पर प्रोग्राम को प्रतिक्रिया देनी चाहिए या क्या आप जेनकिंस को कॉन्फ़िगर करना चाहते हैं यदि सर्वर उपलब्ध है और उसके बाद जेनकिंस तदनुसार परीक्षण चलाने के लिए अनुकूल है? –
ओह, अब मैं समझता हूं।वर्तमान में मैं परीक्षण सर्वर को प्रोग्रामेटिक रूप से शुरू और बंद कर देता हूं (यह वहां एसएसएच द्वारा परीक्षण सर्वर पर डॉकर के साथ किया जाता है), लेकिन इसके लिए जेनकींस का उपयोग क्लीनर समाधान है। – rabejens