सभी,परीक्षण कंसोल आधारित अनुप्रयोग/प्रोग्राम - जावा
मैंने जावा में एक फोनबुक एप्लिकेशन लिखा है जो कमांड लाइन आधारित है। एप्लिकेशन मूल रूप से नाम, आयु, पता और फोन नंबर जैसे उपयोगकर्ता के कुछ विवरण मांगता है और उन्हें एक फ़ाइल में संग्रहीत करता है। अन्य परिचालनों में फोनबुक को नाम, फोन नंबर इत्यादि शामिल करना शामिल है। सभी विवरण कंसोल के माध्यम से दर्ज किए जाते हैं।
मैं कार्यक्षमताओं कि मैं लागू कर दिया है, लेकिन यह पता लगाने की मेरी JUnit परीक्षण तरीकों कि उन मूल्यों को जब मेरी वास्तविक आपूर्ति करेगा में कुछ करने के लिए कार्यान्वयन कोड में System.in
रीडायरेक्ट करने के लिए कैसे सक्षम नहीं से प्रत्येक के लिए JUnit परीक्षण मामलों लिखने के लिए कोशिश कर रहा हूँ कोड उपयोगकर्ता इनपुट के लिए बंद हो जाता है?
उदाहरण:
मेरे कार्यान्वयन कोड है:
BufferedReader is = new BufferedReader (new InputStreamReader(System.in));
System.out.println("Please enter your name:");
String name = is.readLine(); // My test cases stop at this line. How can I pass command line values i.e. redirect System.in to my test based values?
आशा है कि यह भावना
आप यहां जो वर्णन करते हैं, उसे करने के लिए आप कुछ नमूना कोड पा सकते हैं: http://illegalargumentexception.blogspot.com/2010/09/java-systemconsole-ides-and-testing.html लेकिन यह बड़े पैमाने पर ऑक्सबो_लेक्स को लागू करने का एक तरीका है उनके जवाब में वर्णन करता है। – McDowell