मैं एक एम्बेडेड वाइल्डफ्लि उदाहरण पर अपने युद्ध के मैक्रो (माइक्रो नहीं!) ब्लैक बॉक्स परीक्षण करना चाहता हूं।पूरे युद्ध को वाइल्डफली एम्बेडेड पर तैनात करके मैवेन युद्ध परियोजना का परीक्षण करने के लिए मैं आर्किलीयन कैसे स्थापित करूं?
मेरे Maven परियोजना इस
<project>
...
<packaging>war</packaging>
<!-- Lots of classes in src/main/webapp and files in src/main/webapp -->
<dependencies>
<!-- Lots of compile/runtime dependencies that change very frequently -->
<!-- Lots of test dependencies that change very frequently -->
</dependencies>
</project>
मेरे Arquillian परीक्षण निम्न आवश्यकताओं को पूरा करने के लिए की जरूरत है जैसा दिखता है:
- परीक्षणों में अनुप्रयोग सर्वर के लिए पूरे युद्ध तैनात। इसमें सभी उत्पादन वर्ग, सभी रनटाइम निर्भरताएं और सभी
src/main/webapp
फ़ाइलें शामिल हैं। एक रखरखाव परिप्रेक्ष्य से सूक्ष्म तैनाती करना असंभव है क्योंकि वर्ग निर्भरता और जार निर्भरताएं अक्सर बदलती हैं। तो हम ShrinkWrap परिनियोजन में कुछ भी गणना नहीं कर सकते हैं। - परीक्षण में कुछ भी हार्डकोड या arquillian.xml है कि पहले से ही Maven
pom.xml
से जाना जाता है। इसमें संस्करण स्ट्रिंग्स, निर्भरता सूचियां, पैकेज या कक्षा सूचियां, ऐप सर्वर स्थापना निर्देशिका आदि शामिल हैं - 1 से अधिक मेवेन मॉड्यूल का उपयोग न करें। मेरे युद्ध का परीक्षण करने के लिए मेरे परीक्षण एक ही मेवेन मॉड्यूल के परीक्षण फ़ोल्डर में हैं जो युद्ध का उत्पादन करता है।
- टेस्ट बस इंटेलीजे साथ
pom.xml
खोलने के बाद इंटेलीजे से चलाने की आवश्यकता है: - उपयोगकर्ता है कि मेरे कोड चेकआउट तो बस परीक्षण चलाने में सक्षम होना चाहिए।
- वाइल्डफली एम्बेडेड कंटेनर का उपयोग करें, इसलिए पहले कुछ भी स्थापित करने की आवश्यकता नहीं है, किसी भी प्रक्रिया को पहले चलाने की आवश्यकता नहीं है और निश्चित रूप से नहीं
JBOSS_HOME
पर्यावरण चर को पहले सेट करने की आवश्यकता है।
- टेस्ट बस इंटेलीजे साथ
- मुझे केवल ब्लैक बॉक्स परीक्षण में रूचि है, इसलिए मेरे सभी परीक्षण क्लाइंट के रूप में चला सकते हैं।
सिद्धांत रूप में, इस Arquillian के Maven समाधानकर्ता, एम्बेडेड कंटेनर, @RunAsClient
, Maven फेल सेफ प्लगइन, कुछ arquillian.xml
जादू और Maven जादू का एक बहुत के साथ सभी संभव है। लेकिन व्यावहारिक रूप से, मैं उस सामान को एकसाथ काम करने के लिए नहीं मिल सकता, और न ही मुझे इस दस्तावेज को किसी भी दस्तावेज को शामिल किया गया है, इसलिए मुझे उम्मीद है कि कोई स्पष्ट रूप से दिखा सकता है कि वे एक साथ कैसे काम कर सकते हैं।
यदि आप मैक्रो परीक्षण पर विचार करते हैं, तो आप [आर्किलीयन-सूट-एक्सटेंशन] (https://github.com/ingwarsw/arquillian-suite-extension) पर एक नज़र डाल सकते हैं या Arquillian को छोड़ सकते हैं। क्यूं कर? चूंकि आर्किलियन सूक्ष्म-तैनाती के बारे में है, और ऐसा लगता है कि यह आपके लिए मामला नहीं है। एम्बेडेड जेईई ऐप सर्वर का उपयोग करना [परेशानियों के लिए पूछना] जैसा है (http://arquillian.org/blog/2012/04/13/the-danger-of-embedded-containers/) ... –
वेनिला आर्किलियन वास्तव में समर्थन करना चाहिए बॉक्स के बाहर आर्किलीयन-सूट-एक्सटेंशन की विशेषताएं! –