गुजर मैं इस पर एनोटेशन के साथ एकीकरण परीक्षण है:वसंत बूट परीक्षण - कमांडलाइन तर्क
@WebAppConfiguration
@ActiveProfiles("integration")
@ContextConfiguration(loader = SpringApplicationContextLoader, classes = [MyApplication])
@IntegrationTest(["server.port=0"])
मैं संपत्ति server.port उदाहरण के लिए पारित कर सकते हैं संदर्भ परीक्षण करने के लिए, लेकिन वहाँ कमांडलाइन तर्क पारित करने के लिए किसी भी तरह से है? मेरा आवेदन सामान्य रूप से इस तरह शुरू होता है:
public static final void main(String[] args) {
SpringApplication.run(AnkaraCollectorApplication.class, args);
}
और मैं संदर्भ का परीक्षण करने के लिए कुछ तर्क पारित करना चाहता हूं। क्या इसके लिए कोई संपत्ति है?
<plugin> <artifactId>maven-failsafe-plugin</artifactId> <executions> <execution> ... <configuration>
<argLine> whatever you want: -DhelloWorld=Test </argLine> </configuration> ...
इस JVM Maven प्रोफ़ाइल के आधार पर तर्क है कि अपने को क्रियान्वित कर रहे हैं निर्धारित कर सकते हैं:
लेकिन मुझे कमांडलाइन तर्क पारित करने की आवश्यकता है। मैं कुछ लाइब्रेरी का उपयोग करता हूं जिसमें वसंत अनुप्रयोग लिस्टनर है और यह श्रोता एप्लिकेशनEnvironmentPreparedEvent.getArgs() से कमांडलाइन तर्क का उपयोग कर रहा है। मुझे कुछ ऐसा करना है जो प्राप्त करता है ARR() मेरे तर्क वापस कर देगा। – wjtk
यहां समस्या एकीकरण परीक्षण है जो आपके एप्लिकेशन.माइन विधि को कॉल नहीं करता है। यह केवल एनोटेशन का निरीक्षण कर रहा है। आप उन कमांड तर्कों का उपयोग कहां कर रहे हैं? – jfcorugedo