2011-04-01 33 views
10

में चलाने के लिए विशिष्ट परीक्षणों का चयन करना मैं अपने गन्दा असफल परीक्षण रन को ठीक करने की कोशिश कर रहा हूं, और दुर्भाग्यवश, मैं धीरे-धीरे बढ़ने के लिए नया हूं। वर्तमान में हमारे पास testng, junit है, और मैं मिश्रण में कुछ स्पॉक परीक्षण भी जोड़ना चाहता हूं। मुझे पूरा यकीन नहीं है कि कैसे ग्रेडल निर्धारित करता है कि जब मैं "ग्रेडल टेस्ट" टाइप करता हूं तो कौन से परीक्षण चलते हैं। मैं testng &/या जूनिट परीक्षण को चलाने से कैसे रोक सकता हूं? मैं अपने स्पॉक परीक्षणों को चलाने के लिए कैसे धीरे-धीरे प्राप्त कर सकता हूं?ग्रेडल

उत्तर

14

डिफ़ॉल्ट रूप से, test कार्य उन सभी JUnit परीक्षणों को चलाता है, जिनमें कोई भी स्पॉक परीक्षण शामिल है। इस प्रकार यह TestNG परीक्षण चलाने के बजाय, कार्य कॉन्फ़िगर करने के लिए: आप दोनों JUnit और TestNG परीक्षण है, तो

test { 
    useTestNG() 
} 

, आप दो परीक्षण कार्य, प्रत्येक परीक्षा ढांचे के लिए एक की जरूरत है।

परीक्षणों का सबसेट चलाने के लिए, -Dtest.single सिस्टम प्रॉपर्टी का उपयोग करें। अधिक जानकारी के लिए, Gradle User Guide में संबंधित अनुभाग देखें।

+0

मैं प्रलेखन आप संदर्भित को देखा है, लेकिन यह काफी भ्रमित है। उदाहरण के लिए, पृथ्वी पर क्या होता है: "gradle -Dtest.single = a/b/test" मतलब है? मैं मानक जूनिट परीक्षणों को चलाने से रोकने की कोशिश कर रहा हूं, लेकिन स्पॉक और टेस्टिंग परीक्षण चलाएं। मुझे कोई भाग्य नहीं है। –

+2

प्रलेखन से: testNamePattern का उपयोग '**/testNamePattern * .class' के पैटर्न को शामिल करने के लिए किया जाएगा। इसलिए 'ए/बी /' पैकेज 'ए.बी.' के नीचे सभी परीक्षण वर्गों का चयन करता है। (ध्यान दें कि 'ए' को रूट पैकेज होना जरूरी नहीं है।) स्पॉक और टेस्टएनजी चलाने के लिए लेकिन जुनीट परीक्षण नहीं करने के लिए, आपको दो कार्यों की आवश्यकता होगी (जैसा ऊपर बताया गया है), और केवल जुनेट कार्य को कॉन्फ़िगर करने के लिए कॉन्फ़िगर करें स्पॉक परीक्षण (पैकेज या कक्षा नामकरण सम्मेलन द्वारा)। –

0

आप कमांड लाइन का उपयोग कर उपलब्ध करा सकता है:

$> gradle test --tests org.somewhere.MyTestClass 

या यहां तक ​​कि

$> gradle test --tests org.somewhere.MyTestClass.my_test_case 
संबंधित मुद्दे