specs2

2012-11-26 16 views
7

में अंतिम साफ करें मैं अपने स्कैला सॉफ़्टवेयर के लिए एक specs2 unittest लिख रहा हूं। निष्पादन अच्छी तरह से काम कर रहा है। मेरे पास एकमात्र समस्या यह है कि सभी परीक्षण समाप्त होने के बाद मुझे साफ करने की आवश्यकता है। मुझे बस इसके लिए कोई समाधान नहीं मिल रहा है। क्या सभी परीक्षण समाप्त होने के बाद कुछ फ़ंक्शन निष्पादित करने का कोई तरीका है?specs2

उत्तर

9

आप अपने विनिर्देश के अंत में एक Step जोड़ने की जरूरत:

import org.specs2.mutable._ 

class MySpec extends Specification { 

    // lots of examples here 

    // cleanup there 
    step(cleanUp()) 
} 
+0

धन्यवाद यह बहुत अच्छी तरह से काम करता है। –

+1

क्या यह संभव है कि यदि कोई कदम अपवाद फेंकता है तो क्लीनअप नहीं चला रहा है? – Robertiano

+0

हां लेकिन यह रन विफल हो जाएगा। – Eric

0

आप with After के बाद उपयोग करने का प्रयास कर सकते हैं और def after फ़ंक्शन लागू कर सकते हैं।

उदाहरण:

class Context extends Specification { 
.... 
} 

trait trees extends mutable.After { 
    def after = cleanupDB 
} 
+0

विनिर्देश के लिए इस काम करता है? जैसा कि: क्लास स्पेक के साथ विशिष्टता बढ़ाता है {...} –

+1

* प्रत्येक परीक्षण के बाद * रन के बाद, लेकिन ओक्यू * सभी * परीक्षणों के बाद क्लीनअप को संदर्भित करता है। –