আমি কমান্ড লাইন থেকে JUnit পরীক্ষা মামলা চালাতে চাই। কিভাবে আমি এটি করতে পারব?
javac -cp "junit-4.12.jar; hamcrest-core-1.3.jar;." Tests.java
আমার জন্য কাজ। শেষের বিন্দুটি নোট করুন - এটি গুরুত্বপূর্ণ!
আমি কমান্ড লাইন থেকে JUnit পরীক্ষা মামলা চালাতে চাই। কিভাবে আমি এটি করতে পারব?
javac -cp "junit-4.12.jar; hamcrest-core-1.3.jar;." Tests.java
আমার জন্য কাজ। শেষের বিন্দুটি নোট করুন - এটি গুরুত্বপূর্ণ!
উত্তর:
জন্য JUnit 5.x এটা:
java -jar junit-platform-console-standalone-<version>.jar <Options>
সংক্ষিপ্ত এ সারসংক্ষেপ খুঁজুন https://stackoverflow.com/a/52373592/1431016 এবং সম্পূর্ণ বিবরণের https://junit.org/junit5/docs/current/user-guide/#running-tests-console-launcher
জন্য JUnit 4.x এটা সত্যিই আছে:
java -cp .:/usr/share/java/junit.jar org.junit.runner.JUnitCore [test class name]
তবে আপনি JUnit 3.X ব্যবহার করছেন তবে ক্লাসের নামটি পৃথক:
java -cp .:/usr/share/java/junit.jar junit.textui.TestRunner [test class name]
আপনার ক্লাসপথে আপনার ক্লাসের ফাইলগুলির সাথে আরও জেআর বা ডিরেক্টরি যুক্ত করতে হবে এবং সেমিকোলন (উইন্ডোজ) বা কোলোন (ইউএনআইএক্স / লিনাক্স) দিয়ে আলাদা করতে হবে। এটি আপনার পরিবেশের উপর নির্ভর করে।
সম্পাদনা: আমি উদাহরণ হিসাবে বর্তমান ডিরেক্টরি যুক্ত করেছি। আপনার পরিবেশ এবং আপনি কীভাবে আপনার অ্যাপ্লিকেশনটি তৈরি করেন তার উপর নির্ভর করে (বিন / বা বিল্ড / বা এমনকি আমার_প্লিকেশন.জার ইত্যাদি হতে পারে)। নোট করুন জাভা 6+ ক্লাসপথে গ্লোব সমর্থন করে, আপনি এটি করতে পারেন:
java -cp lib/*.jar:/usr/share/java/junit.jar ...
আশা করি এটা সাহায্য করবে. পরীক্ষা লিখুন! :-)
মাভেন উপায়
আপনি যদি মাভেন ব্যবহার করেন তবে আপনার সমস্ত পরীক্ষার কেস চালানোর জন্য আপনি নিম্নলিখিত কমান্ডটি চালাতে পারেন:
mvn clean test
অথবা আপনি নীচের মত একটি নির্দিষ্ট পরীক্ষা চালাতে পারেন
mvn clean test -Dtest=your.package.TestClassName
mvn clean test -Dtest=your.package.TestClassName#particularMethod
আপনি যদি লক্ষ্য \ শিফারফায়ার-রিপোর্টস ফোল্ডারে ফাইলগুলি রিপোর্ট করার পরিবর্তে কনসোলে স্ট্যাক ট্রেস (যদি থাকে তবে) দেখতে চান তবে ব্যবহারকারীর সম্পত্তি শিফারফায়ার করুন। উদাহরণ স্বরূপ:
mvn clean test -Dtest=your.package.TestClassName -Dsurefire.useFile=false
গ্রেডল ওয়ে
আপনি যদি গ্রেডল ব্যবহার করেন তবে আপনার সমস্ত পরীক্ষার কেস চালানোর জন্য আপনি নিম্নলিখিত কমান্ডটি চালাতে পারেন:
gradle test
অথবা আপনি নীচের মত একটি নির্দিষ্ট পরীক্ষা চালাতে পারেন
gradle test --tests your.package.TestClassName
gradle test --tests your.package.TestClassName.particularMethod
আপনি যদি আরও তথ্য চান, আপনি - স্ট্যাকট্রেস, বা --info, বা --debug এর মত বিকল্পগুলি বিবেচনা করতে পারেন।
উদাহরণস্বরূপ, আপনি যখন তথ্য লগিং স্তর - ইনফোর সাথে গ্রেডল চালান, এটি প্রতিটি পরীক্ষার ফলাফল চলমান চলাকালীন আপনাকে প্রদর্শন করবে। যদি কোনও ব্যতিক্রম হয় তবে সমস্যাটি কী তা নির্দেশ করে এটি আপনাকে স্ট্যাক ট্রেস প্রদর্শন করবে।
gradle test --info
আপনি যদি সামগ্রিক পরীক্ষার ফলাফলগুলি দেখতে চান তবে আপনি ব্রাউজারে প্রতিবেদনটি খুলতে পারেন, উদাহরণস্বরূপ (উবুন্টুতে গুগল ক্রোম ব্যবহার করে এটি খুলুন):
google-chrome build/reports/tests/index.html
পিঁপড়া উপায়
একবার আপনি আপনার পিঁপড়া বিল্ড ফাইল বিল্ড.এক্সএমএল সেট আপ করার পরে, আপনি নীচের মতো কমান্ড লাইন থেকে আপনার JUnit পরীক্ষার কেসগুলি চালাতে পারেন:
ant -f build.xml <Your JUnit test target name>
পিপীলিকা বিল্ড ফাইলে কীভাবে JUnit পরীক্ষা কনফিগার করতে হয় সে সম্পর্কে আরও জানতে আপনি নীচের লিঙ্কটি অনুসরণ করতে পারেন: https://ant.apache.org/manual/Tasks/junit.html
সাধারণ উপায়
আপনি যদি মাভেন বা গ্রেডল বা পিঁপড়া ব্যবহার না করেন তবে আপনি নিম্নলিখিত পদ্ধতি অনুসরণ করতে পারেন:
প্রথমত, আপনাকে আপনার পরীক্ষার কেসগুলি সঙ্কলন করতে হবে। উদাহরণস্বরূপ (লিনাক্সে):
javac -d /absolute/path/for/compiled/classes -cp /absolute/path/to/junit-4.12.jar /absolute/path/to/TestClassName.java
তারপরে আপনার পরীক্ষার মামলাগুলি চালান। উদাহরণ স্বরূপ:
java -cp /absolute/path/for/compiled/classes:/absolute/path/to/junit-4.12.jar:/absolute/path/to/hamcrest-core-1.3.jar org.junit.runner.JUnitCore your.package.TestClassName
@ লাজাপ যে উত্তর দিয়েছে তা একটি ভাল সমাধান। তবে আমি যুক্ত করতে চাই যে আপনার যুক্ত করা উচিত। শ্রেণীর পথে, যাতে আপনার বর্তমান ডিরেক্টরিটি বাদ না যায়, ফলস্বরূপ আপনার নিজস্ব ক্লাসগুলি বাদ যায়। কিছু প্ল্যাটফর্মে আমার সাথে এটি ঘটেছে। সুতরাং JUnit 4.x এর জন্য আপডেট হওয়া সংস্করণটি হ'ল:
java -cp .:/usr/share/java/junit.jar org.junit.runner.JUnitCore [test class name]
নিশ্চিত করুন যে JUnit.jar আপনার ক্লাসপথে রয়েছে, তারপরে কনসোল থেকে কমান্ড লাইন রানারকে অনুরোধ করুন
java org.junit.runner.JUnitCore [পরীক্ষার শ্রেণীর নাম]
রেফারেন্স: জুনিট এফএকিউ
JUnit 4.12 এর সাথে নিম্নলিখিতগুলি আমার পক্ষে কার্যকর হয়নি:
java -cp .:/usr/share/java/junit.jar org.junit.runner.JUnitCore [test class name]
স্পষ্টতই , JUnit 4.11 থেকে আপনার ক্লাসপথে অন্তর্ভুক্ত করা উচিত hamcrest-core.jar
:
java -cp .:/usr/share/java/junit.jar:/usr/share/java/hamcrest-core.jar org.junit.runner.JUnitCore [test class name]
java -cp .:/usr/share/java/junit4.jar org.junit.runner.JUnitCore [test class name]
উইন্ডোজ এটি হয়
java -cp .;/path/junit.jar org.junit.runner.JUnitCore TestClass
[ক্লাস এক্সটেনশন ছাড়াই পরীক্ষার শ্রেণীর নাম]
উদাহরণস্বরূপ:
c:\>java -cp .;f:/libraries/junit-4.8.2 org.junit.runner.JUnitCore TestSample1 TestSample2 ...
এবং আরও, যদি কারও একাধিক পরীক্ষার ক্লাস থাকে।
-cp শ্রেণীর পথ বোঝায় এবং বিন্দু (।) বিদ্যমান শ্রেণিপথকে উপস্থাপন করে যখন আধা কোলন (;) অতিরিক্ত প্রদত্ত জারটিকে ক্লাসপথে সংযোজন করে, যেমন উপরোক্ত উদাহরণে জুনিট -৪.৮.২ এখন জুনিতকোড় শ্রেণি চালানোর জন্য ক্লাসপথে পাওয়া যায় যে এখানে আমরা আমাদের পরীক্ষার ক্লাসগুলি কার্যকর করতে ব্যবহার করেছি।
উপরে কমান্ড লাইন স্টেটমেন্ট আপনাকে কমান্ড প্রম্পট (অর্থাত্ এমএসডোস) থেকে জুনিট (সংস্করণ 4+) পরীক্ষা করতে সহায়তা করে।
দ্রষ্টব্য: JUnitCore জুনিট পরীক্ষা সম্পাদন করার জন্য একটি মুখোমুখি, এই মুখটি জুনিটের 4+ সংস্করণে অন্তর্ভুক্ত রয়েছে।
যদি আপনার প্রকল্পটি মাভেন-ভিত্তিক হয় আপনি পরের কমান্ডটি ব্যবহার করে মডিউল 'মাই-মডিউল' এর সাথে সম্পর্কিত টেস্ট-শ্রেণীর কাস্টম টেস্ট থেকে সমস্ত পরীক্ষা পদ্ধতি চালাতে পারেন:
mvn clean test -pl :my-module -Dtest=CustomTest
অথবা পরের আদেশটি ব্যবহার করে পরীক্ষা-শ্রেণীর কাস্টম টেস্ট থেকে কেবল 1 টি পরীক্ষা-পদ্ধতি মাইমথোড চালান:
mvn clean test -pl :my-module -Dtest=CustomTest#myMethod
এই ক্ষমতা জন্য আপনি ম্যাভেন surefire প্লাগইন v.2.7.3 + এবং Junit 4. আরো বিস্তারিত প্রয়োজন এখানে হয়: http://maven.apache.org/surefire/maven-surefire-plugin/examples/single-test.html
বিকল্পভাবে আপনি জুনিটকোর ক্লাসে নিম্নলিখিত পদ্ধতিগুলি ব্যবহার করতে পারেন http://junit.sourceforge.net/javadoc/org/junit/runner/JUnitCore.html
আপনার জাভা ফাইল থেকে (অনুরোধ, শ্রেণি ক্লাস এবং রানার সহ) চালান বা রানক্লাসগুলি চালান।
আপনি যদি পিপীলিকা ভিত্তিক প্রজেক্ট করেন তবে কনসোল থেকে আপনার এমন কিছু করা উচিত:
ant test
যদি এটি কাজ না করে তবে আপনার প্রকল্পটি পিঁপড়া ভিত্তিক হয় তবে আপনি প্রকল্পের ant -p
মূল লক্ষ্যগুলি তালিকাভুক্ত করতে চালাতে পারেন ।