2009-12-22 18 views
24

मैं जावा ईई कोड का परीक्षण करने के लिए अपने पसंदीदा तरीके से पूछना चाहता हूं? अंतिम प्रकाशित:: 2009-01-18 आप जावा ईई कोड का परीक्षण कैसे करते हैं?

  • http://www.junitee.org/: आखिरी रिलीज:

    • http://jakarta.apache.org/cactus/:

      मैं केवल तीन परियोजना, कि जावा ईई वातावरण में कोड इकाई परीक्षण करने के लिए मदद करने के लिए कोशिश कर रहे हैं पाया 2004- 12-11

    • http://ejb3unit.sourceforge.net/: आखिरी रिलीज: 2008-05-17

    तो मुझे आश्चर्य है,

    0,123,
    • जावा ईई कोड के लिए (जे) इकाई परीक्षण लिखने में कोई ढांचा है?
    • क्या आप jboss या glassfish v3 जैसे एम्बेडेड जावा ईई सर्वर का उपयोग करते हैं?
    • क्या आप अपने आप से नकली और इंजेक्ट करते हैं?

    धन्यवाद एक बहुत ...

  • +0

    देखें http://stackoverflow.com/questions/1733805/where-can-i-find-good-unit-testing-resources-for-ejb-and-j2ee – ewernli

    +0

    एंटो आउट ऑफ़ डेट प्रोजेक्ट: http: // sourceforge.net/projects/mockejb/ अंतिम रिलीज: 2004-09-04 – marabol

    +1

    एडम बिएन द्वारा इकाई के बारे में [यह आलेख] (http://www.oracle.com/technetwork/articles/java/unittesting-455385.html) है 2011 से जावाईई के लिए परीक्षण। –

    उत्तर

    24

    यूनिट परीक्षण द्वारा आप मतलब है ... इकाई परीक्षण (अलगाव में एक इकाई के परीक्षण), तो आप वास्तव में EJB3 के बाद से किसी विशेष ढांचे की जरूरत नहीं है। 0 एनोटेटेड पीओजेओ से ज्यादा कुछ नहीं हैं और इस प्रकार किसी भी विशेष स्थिरता के बिना अपेक्षाकृत आसानी से परीक्षण किया जा सकता है।

    अब, आप कुछ और ही मतलब है - एकीकरण परीक्षण की तरह या कार्यात्मक परीक्षण - तो, ​​हाँ, उपकरण की मदद करने और चीजों को आसान बनाने के (लेकिन तुम सच में सही शब्दावली का उपयोग करने के लिए शुरू कर देना चाहिए :) मैं कर सकते हैं मान लेंगे कि यह आपके मन में है।

    पहला, JUnitEE मृत और अप्रचलित लगता है और मुझे यह भी यकीन नहीं है कि इसमें EJB3.x के लिए कुछ भी है। दूसरा, मैं Cactus से प्रभावित नहीं हूं और कैक्टस परीक्षणों को तैनात करना दर्दनाक है (मुझे लगता है कि कैक्टस जे 2 ईई 1.4 के लिए अच्छा था लेकिन अब थोड़ा पुराना है)। तो यह हमें Ejb3Unit के साथ छोड़ देता है जो मेरी राय में सबसे अच्छा विकल्प है, खासकर यदि आप कंटेनर परीक्षणों से बाहर चलाना चाहते हैं यानी वास्तव में एप्लिकेशन को तैनात किए बिना (बहुत तेज)।

    आप कंटेनर परीक्षणों में चलाना चाहते हैं, तो आप वास्तव में एक एम्बेडेड कंटेनर इस्तेमाल कर सकते हैं और मेरे वर्तमान वरीयता जावा EE 5 के लिए भी, ग्लासफिश v3 को जाता है (मैं गलत हो सकता है लेकिन मैं बहुत से निराश हूँ नवीनतम जेबॉस रिलीज का प्रारंभ समय इसलिए मुझे अपना ध्यान नहीं मिल रहा है)। नमूना कोड के लिए GlassFish Embedded Reloaded, an appserver in your pocket पोस्ट करें (जिसे आप अपने परीक्षणों से उपयोग कर सकते हैं) या Using maven plugin for v3 embedded glassfish (यदि आप मेवेन का उपयोग कर रहे हैं)।

    एक अन्य विकल्प पैकेज और Cargo के साथ अपने आवेदन की तैनाती और उसके बाद (सेलेनियम या उदाहरण के लिए एक BDD उपकरण के साथ) तैनात आवेदन के खिलाफ कुछ परीक्षण चलाने होगा। यह उपयोगी हो सकता है यदि आप एक कंटेनर के साथ एंड-टू-एंड परीक्षण चलाने के लिए चाहते हैं जो किसी एम्बेडेड एपीआई प्रदान नहीं करता है।

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

    +0

    मैंने सुना है कि कैक्टस प्रोजेक्ट नए लीड डेवलपर पेटार ताहचीव के साथ जीवन में वापस आ गया है। जेएसएफयूनीट कैक्टस पर आधारित है। – cetnar

    +0

    @cetnar ओह, जानना अच्छा है! दरअसल, मैं शायद ईजेबी 3 पर बहुत अधिक केंद्रित था और पूरी तरह से जेएसएफ भूल गया था। इस सूचना के लिए अत्यधिक धन्यवाद। –

    +0

    बहुत बहुत धन्यवाद। मुझे लगता है, मैं अपने सभी ईजेबी pojos के लिए किसी भी प्रतिबिंब के बिना इंजेक्शन की अनुमति देने के लिए cunstructors बना देगा। कार्गो एकीकरण परीक्षण के लिए intresting है। धन्यवाद! – marabol

    2

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

    2

    मुझे जावा ईई 6 कंटेनर (ग्लासफ़िश वी 3, सटीक होने के लिए) में जुनीट के आधार पर एकीकरण परीक्षण चलाने की एक ही समस्या का सामना करना पड़ रहा है, और बहुत सारी ब्राउज़िंग और खोज के बाद, मुझे कोई समाधान नहीं मिला वास्तव में मुझे जरूरतों के अनुरूप है, इसलिए मैंने अपना खुद लिखा, अब Google Code पर jeeunit के रूप में प्रकाशित किया गया है।

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

    सामान्य विचार कैक्टस के समान है, आपके परीक्षण कंटेनर में चलते हैं और बाहर से एक सर्वलेट द्वारा ट्रिगर होते हैं।

    जीनिटिट जुनीट 4, ग्लासफ़िश वी 3, सीडीआई का समर्थन करता है और मानक एक्सएम जेनिट रिपोर्ट जेनरेट करता है जैसे एंटी या मेवेन सरेफायर (वास्तव में, मैंने रिपोर्ट बनाने के लिए चींटी से कुछ कोड पुन: उपयोग किया)।

    1

    मुझे सीडीआई एप्लिकेशन का परीक्षण करने की आवश्यकता थी और एक कस्टम जुनीट धावक लिखा जो वेब कंटेनर के बाहर सब कुछ चलाता है।

    http://jglue.org/cdi-unit/

    यह जावा SE के लिए उपयुक्त है और यह भी डमी अनुरोध का समर्थन करता है, सत्र और वार्तालाप परीक्षण वेब ऐप्लिकेशन के लिए scopes।

    यह छोटा और तेज़ है, जो बहुत अच्छा है जब आपके पास बहुत सारे यूनिट परीक्षण होते हैं।

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