क्या स्केलटेस्ट चश्मा के बीच निर्भरताएं हो सकती हैं जैसे कि यदि कोई परीक्षण विफल हो जाता है, तो उस पर निर्भर सभी परीक्षण छोड़ दिए जाते हैं?क्या टेस्टएनजी निर्भर करता है एकमात्र तंत्र निर्भर करता हैऑनमाइड्स एनोटेशन
उत्तर
मुझे तैयार किए गए समाधान के बारे में पता नहीं है। लेकिन आप अपने स्वयं के फिक्स्चर आसानी से लिख सकते हैं।
देखें "stackable स्थिरता लक्षण लिखना" Suite trait
की जावाडोक में इस तरह के एक स्थिरता उदाहरण के लिए pending
के लिए कॉल के साथ पहले एक मुझे लगता है कि सुविधा नहीं जोड़ा था, के बाद सभी परीक्षण फांसी की जगह सकता है टेस्टएनजी की वजह से उस समय मेरे पास औचित्य के लिए किसी भी आकर्षक उपयोग के मामले नहीं थे। मैंने तब से कुछ उपयोग मामलों को एकत्रित किया है, और इसे संबोधित करने के लिए स्कैलाटेस्ट के अगले संस्करण में एक सुविधा जोड़ रहा हूं। लेकिन यह एक अप्रत्याशित पूर्व शर्त के आधार पर परीक्षण को "रद्द" करने का एक तरीका है, केवल निर्भर परीक्षण नहीं होगा।
इस बीच आप क्या कर सकते हैं, यदि स्थिति पूरी हो जाती है तो स्थिति केवल तभी रजिस्टर करें जब स्थिति पूरी हो जाती है, या अगर आप इसे आउटपुट देखना पसंद करते हैं तो उन्हें अनदेखा कर सकते हैं।
if (databaseIsAvailable) {
it("should do something that requires the database") {
// ...
}
it ("should do something else that requires the database") {
}
}
यह केवल काम करेंगे अगर हालत परीक्षण निर्माण समय में निश्चित रूप से पूरा किया जाएगा: यदि आप युक्ति का उपयोग कर रहे हैं, तो यह कुछ ऐसा दिखाई देगा। यदि उदाहरण के लिए डेटाबेस पहले से सभी विधि द्वारा शुरू किया जाना चाहिए, तो शायद, आपको प्रत्येक परीक्षण के अंदर जांच करने की आवश्यकता होगी। और उस मामले में आप कह सकते हैं कि यह लंबित है। कुछ ऐसा:
it("should do something that requires the database") {
if (!databaseIsAvailable) pending
// ...
}
it("should do something else that requires the database") {
if (!databaseIsAvailable) pending
// ...
}
स्कालाडोक पढ़ने के बाद, मैं अभी भी यह देखने में असफल रहा कि मैंने पूर्व शर्त कैसे निर्धारित की है। निश्चित रूप से, जब कोई परीक्षण सफल होता है तो मैं एक शर्त कैसे निर्धारित करूं ताकि अन्य सूट इसका संदर्भ दे सकें? – user44242
मुझे अभी तक उस सुविधा के किसी भी संदर्भ को नहीं मिला है, किसी भी मौके से, क्या इसे लागू किया गया है? –
मुझे लगता है कि फीचर बिल का मतलब है 'मान लें (बूलियन)'। अगर धारणा विफल हो जाती है, तो एक परीक्षण रद्द के रूप में दिखाता है। यह ScalaTest 2.2.1 के साथ है। – akauppi
यहां एक स्केल विशेषता है जो किसी भी परीक्षण में विफल होने पर परीक्षण सूट में सभी परीक्षण विफल हो जाती है।
(सुझाव के लिए धन्यवाद, जेन्स Schauder (जो इस सवाल का एक और उत्तर पोस्ट)।)
पेशेवरों: सरल समझने-में-परीक्षण निर्भरता।
विपक्ष: बहुत अनुकूल नहीं है।
मैं इसे अपने स्वचालित ब्राउज़र परीक्षणों के लिए उपयोग करता हूं। अगर कुछ विफल रहता है, तो आमतौर पर जीयूआई के साथ लगातार बातचीत करने में कोई बात नहीं है क्योंकि यह "गड़बड़" स्थिति में है।
लाइसेंस: सार्वजनिक डोमेन (क्रिएटिव कॉमन सीसी 0), या (आपके विकल्प पर) एमआईटी लाइसेंस।
import org.scalatest.{Suite, SuiteMixin}
import scala.util.control.NonFatal
/**
* If one test fails, then this traits cancels all remaining tests.
*/
trait CancelAllOnFirstFailure extends SuiteMixin {
self: Suite =>
private var anyFailure = false
abstract override def withFixture(test: NoArgTest) {
if (anyFailure) {
cancel
}
else try {
super.withFixture(test)
}
catch {
case ex: TestPendingException =>
throw ex
case NonFatal(t: Throwable) =>
anyFailure = true
throw t
}
}
}
आप पहली बार विफलता के बाद शेष परीक्षण रद्द करने के लिए विशेषता org.scalatest.CancelAfterFailure
उपयोग कर सकते हैं:
import org.scalatest._
class MySpec extends FunSuite with CancelAfterFailure {
test("successfull test") {
succeed
}
test("failed test") {
assert(1 == 0)
}
test("this test and all others will be cancelled") {
// ...
}
}
- 1. आयात और निर्भर करता है
- 2. निर्भर टाइपिंग क्या है?
- 3. क्या जी ++ संकलन समय सरणी आकार पर निर्भर करता है?
- 4. विजुअल स्टूडियो: एक समाधान कैसे दूसरे पर निर्भर करता है?
- 5. habtm रिश्ते का समर्थन नहीं करता है: निर्भर विकल्प
- 6. विजुअल स्टूडियो 6 का आधुनिक समतुल्य "निर्भर करता है" उपयोगिता
- 7. फेसबुक ग्राफ एपीआई खोज परिणाम स्थान पर निर्भर करता है?
- 8. स्प्रिंग बीन विरासत - स्कोप, autowire, निर्भर करता है-ऑन, आदि
- 9. सीआरएएन पैकेज बायोकॉन्डक्टर पैकेज पर निर्भर करता है त्रुटि
- 10. रेडिस पाइपलाइन एकाधिक कमांड जो पिछले पर निर्भर करता है?
- 11. array.each व्यवहार Array.new वाक्यविन्यास पर निर्भर क्यों करता है?
- 12. MySQL डिफ़ॉल्ट आदेश पर निर्भर करता है, जहां
- 13. विधि nonexistent समूह पर निर्भर करता है - Testng
- 14. msvcp90.dll गलत msvcr90.dll पर निर्भर करता है?
- 15. प्रदर्शन अंतर्निहित डेटा मानों पर निर्भर करता है
- 16. पर निर्भर करता है और अन्य स्वचालित कोड विश्लेषक revelence?
- 17. सी ++ ऑब्जेक्ट फ़ाइल का आकार किस पर निर्भर करता है?
- 18. प्लगइन AngularJS अज्ञात प्लगइन पर निर्भर करता है जावास्क्रिप्ट
- 19. Django - उदाहरण पर निर्भर करता है जो उदाहरण
- 20. बाइंड चिह्न WPF में Enum पर निर्भर करता है Treeview
- 21. मिंगव बिल्ड - डीएलएल पर निर्भर करता है कि विंडोज़
- 22. निर्भर करता है अगर एक डेस्कटॉप या मोबाइल ब्राउज़र
- 23. पायथन सीवी 2 मॉड्यूल क्यों निर्भर करता है (पुराना) सीवी
- 24. कस्टम नियंत्रण पर टेम्पलेट बाइंडिंग पर निर्भर करता है
- 25. Memcached निर्भर
- 26. क्या ग्रोवी एक तंत्र प्रदान करता है?
- 27. टेस्टएनजी विभिन्न वर्ग
- 28. क्या रैड() समय-php में निर्भर है?
- 29. क्या preg_match_all `झंडा u` पर निर्भर है?
- 30. फेंक है ConcurrentModificationException प्रणाली निर्भर
परीक्षण के महत्वपूर्ण नियमों में से एक है: टेस्ट एक दूसरे पर निर्भर नहीं करना चाहिए। (स्केलटेस्ट में निर्भरता होने पर कोई विचार नहीं है) – agilesteel
उन्हें कभी-कभी परीक्षण का सेटअप इतना महंगा नहीं होना चाहिए कि आप वास्तव में इससे बच नहीं सकते हैं। दूसरी बार आप यह सुनिश्चित करने के लिए बाहरी सिस्टम का परीक्षण करते हैं कि वे अभी भी सहमत हैं। यदि सिस्टम की उपलब्धता का पहला परीक्षण परीक्षण विफल रहता है, तो विवरणों का परीक्षण करने की कोई आवश्यकता नहीं है। –
यह संभवतः "यूनिट परीक्षण" का एक महत्वपूर्ण नियम है, लेकिन आश्रित परीक्षणों के कारण, परीक्षण के परीक्षणों के लिए बहुत उपयोगी हैं, कारणों का एक समूह (महंगे राज्य का उपयोग, सटीक रिपोर्टिंग, मोक्स से बचने आदि ...)। –