2010-05-24 19 views
5

मेरे पास एक चींटी बिल्ड फ़ाइल है जिसमें जुनीट टेस्ट सूट है जिसे मैं निष्पादित करना चाहता हूं। वर्तमान में मैं सिर्फ ग्रहण से बिल्ड फ़ाइल को राइट क्लिक और चलाता हूं।जावा का उपयोग करके चींटी को निष्पादित करने और आउटपुट कैप्चर करने के लिए कैसे?

मैं एक जावा कोड लिखना चाहता हूं जो स्वचालित रूप से चींटी बिल्ड फ़ाइल को निष्पादित कर सकता है। तो मैं बस कोड चलाता हूं और चींटी निष्पादित की जाएगी।

दूसरा मैं परीक्षा परिणाम कैप्चर करना चाहता हूं। वर्तमान में परिणाम जुनीट एचटीएमएल रिपोर्ट पर आधारित है। मैं अपनी खुद की सरल परीक्षण रिपोर्ट बनाना चाहता हूं। मैंने पढ़ा है JUnitResultFormatter है लेकिन मैं नहीं कर सकता हूं कि इसका उपयोग कैसे करें, निर्देशक चरण को ढूंढें। क्या कोई मुझे संदर्भ बता सकता है?

उत्तर

3

ऐसा करने का सबसे आसान तरीका जावा से JunitCore कक्षा का उपयोग करना है। इसे सीधे एंटी से main पर कॉल करने की सलाह नहीं दी जाती है, जूनिट Faq, और http://www.answerspice.com/c119/1497833/how-do-i-run-junit-tests-from-inside-my-java-application देखें।

कमांड लाइन से व्यक्तिगत रूप से परीक्षण चलाने में सक्षम होने के लिए, प्रत्येक परीक्षण मामले के लिए इस तरह के मुख्य को परिभाषित करना बहुत आम है। जब मैं चींटी के मुकाबले मैन्युअल रूप से एक परीक्षण चलाता हूं तो अधिक जानकारी प्राप्त करने के लिए, आमतौर पर मैं उन विधियों में लॉगिंग सेटिंग्स भी बदलता हूं।

public void main(String... args) { 
    JUnitCore core= new JUnitCore(); 
    core.addListener(new RingingListener()); 
    core.run(MyTestClass.class); 
} 

आपका श्रोता तो हो जाएगा:


आदेश में तो एक कस्टम रिपोर्ट बनाने के लिए, आप एक RunListener अपनी रिपोर्ट बनाता है लागू करने के लिए जावाडोक में वर्णित के रूप है, और इसे पंजीकृत करेंगे, प्रत्येक टेस्ट रन के पहले और बाद में बुलाया जाता है, और परीक्षण के बारे में वर्णनात्मक जानकारी उत्तीर्ण होती है, और परीक्षण करने के बाद परीक्षण कैसे चला जाता है।

+0

विवरण के लिए धन्यवाद :) क्या ऐसा करने से यह चींटी बिल्ड फ़ाइल की आवश्यकता को खत्म कर देता है क्योंकि यह विशेष रूप से टेस्ट क्लास को कॉल करता है? – Iso

+0

हां, इसके साथ, आप बिना 'एंटी' के परीक्षणों को कॉल करने में सक्षम होंगे। आप दोनों को भी मिश्रण कर सकते हैं, और फिर भी अपने सभी परीक्षणों को चलाने के लिए चींटी का उपयोग कर सकते हैं, उदाहरण के लिए निरंतर एकीकरण में। – tonio

+0

दोबारा पूछने के लिए खेद है, लेकिन अगर मैं एक ही फ़ोल्डर में नहीं हूं तो मैं टेस्ट क्लास के पथ को कैसे निर्दिष्ट करूं? ये मेरी फ़ोल्डर संरचना इस प्रकार हैं: SampleTest -> निर्माण -> परीक्षण ---> कक्षाएं ----> test.diagram1_Suite1.class (इस क्लास फाइल) -> परीक्षण - > RunTest.class (यह निष्पादक है) धन्यवाद फिर से – Iso

संबंधित मुद्दे

 संबंधित मुद्दे