java -cp .:/usr/share/java/junit.jar org.junit.runner.JUnitCore [test class name]
Tetapi jika Anda menggunakan JUnit 3.X perhatikan nama kelasnya berbeda:
java -cp .:/usr/share/java/junit.jar junit.textui.TestRunner [test class name]
Anda mungkin perlu menambahkan lebih banyak JAR atau direktori dengan file kelas Anda ke classpath dan pisahkan dengan titik koma (Windows) atau titik dua (UNIX / Linux). Itu tergantung pada lingkungan Anda.
Sunting: Saya telah menambahkan direktori saat ini sebagai contoh. Bergantung pada lingkungan Anda dan bagaimana Anda membangun aplikasi Anda (bisa berupa bin / atau build / atau bahkan my_application.jar dll). Catatan Java 6+ mendukung glob di classpath, Anda dapat melakukannya:
Downvote. Untuk JUnit 4.x itu tidak benar. Instruksi Anda memberikan "Tidak dapat menemukan kelas: [nama kelas uji]" Bahkan ketika [nama kelas uji] ada di classpath.
Philip Rego
117
Cara Maven
Jika Anda menggunakan Maven, Anda dapat menjalankan perintah berikut untuk menjalankan semua kasus pengujian Anda:
mvn clean test
Atau Anda dapat menjalankan tes tertentu seperti di bawah ini
mvn clean test -Dtest=your.package.TestClassName
mvn clean test -Dtest=your.package.TestClassName#particularMethod
Jika Anda ingin melihat jejak tumpukan (jika ada) di konsol alih-alih file laporan di folder target \ surefire-laporan, setel properti pengguna surefire.useFile ke false. Sebagai contoh:
mvn clean test -Dtest=your.package.TestClassName -Dsurefire.useFile=false
Cara gradle
Jika Anda menggunakan Gradle, Anda dapat menjalankan perintah berikut untuk menjalankan semua kasus pengujian Anda:
gradle test
Atau Anda dapat menjalankan tes tertentu seperti di bawah ini
gradle test --tests your.package.TestClassName
gradle test --tests your.package.TestClassName.particularMethod
Jika Anda ingin informasi lebih lanjut, Anda dapat mempertimbangkan opsi seperti --stacktrace, atau --info, atau --debug.
Misalnya, ketika Anda menjalankan Gradle dengan info logging level --info, itu akan menunjukkan kepada Anda hasil dari setiap tes saat mereka berjalan. Jika ada pengecualian, itu akan menunjukkan jejak tumpukan, menunjukkan apa masalahnya.
gradle test --info
Jika Anda ingin melihat hasil pengujian keseluruhan, Anda dapat membuka laporan di browser, misalnya (Buka menggunakan Google Chrome di Ubuntu):
google-chrome build/reports/tests/index.html
Cara semut
Setelah Anda mengatur file build build Ant.xml Anda, Anda dapat menjalankan test case JUnit Anda dari baris perintah seperti di bawah ini:
Saya suka bahwa jawaban ini memiliki contoh untuk banyak teknologi, pujian!
Josie Thompson
bagaimana dengan tes asyik menggunakan pendekatan terakhir?
midori
1
Lambang emas yang memang layak;)
Eric Duminil
Terima kasih untuk versi gradle! Pujian!
ady
52
Jawaban yang diberikan @ lzap adalah solusi yang bagus. Namun, saya ingin menambahkan bahwa Anda harus menambahkan. ke jalur kelas, sehingga direktori Anda saat ini tidak ditinggalkan, sehingga kelas Anda sendiri akan ditinggalkan. Ini terjadi pada saya di beberapa platform. Jadi versi terbaru untuk JUnit 4.x adalah:
java -cp .:/usr/share/java/junit.jar org.junit.runner.JUnitCore [test class name]
Punya masalah yang sama dengan JUnit 4.12. Datang dengan solusi yang serupa, tetapi tidak berhasil untuk saya, gagal memuat JUnitCore. Saya pada dasarnya beralih ke JUnit 4.8.2 karena tidak perlu menyertakan hamcrest-core.jar di classpath.
Vladimir Nazarenko
Mengonfirmasi bahwa ini harus dilakukan dengan JUnit 4.12. +1.
rayryeng
Ini bekerja untuk saya:java -cp .:/usr/share/java/junit4.jar org.junit.runner.JUnitCore [test class name]
Raffi Khatchadourian
11
Di windows itu
java -cp .;/path/junit.jar org.junit.runner.JUnitCore TestClass [nama kelas uji tanpa ekstensi .class]
misalnya:
c:\>java -cp .;f:/libraries/junit-4.8.2 org.junit.runner.JUnitCore TestSample1 TestSample2 ...dan seterusnya, jika seseorang memiliki lebih dari satu kelas tes.
-cp adalah singkatan dari class path dan dot (.) mewakili classpath yang ada sementara semi colon (;) menambahkan jar yang diberikan tambahan ke classpath, seperti pada contoh di atas junit-4.8.2 sekarang tersedia di classpath untuk mengeksekusi kelas JUnitCore yang di sini kita telah terbiasa mengeksekusi kelas tes kami.
Pernyataan baris perintah di atas membantu Anda untuk menjalankan tes junit (versi 4+) dari command prompt (yaitu MSDos).
Catatan: JUnitCore adalah fasad untuk menjalankan tes junit, fasad ini termasuk dalam 4+ versi junit.
Tolong jelaskan jawaban Anda dengan sangat singkat.
Mohit Jain
Saya tidak meminta Anda untuk membuat jawaban Anda singkat. Saya meminta untuk menambahkan beberapa penjelasan (setidaknya penjelasan singkat). Merupakan praktik yang baik untuk menjelaskan bagaimana jawaban Anda bekerja. Pembaca dapat memahaminya, menyukainya, memperbaiki itu.
Mohit Jain
jadi jika saya punya toples pengujian tambahan DAN toples vanilla junit, saya harus memiliki keduanya di perintah java -cp agar semuanya benar-benar berfungsi? Apakah ada cara untuk meletakkan semua ini ke dalam baris perintah sehingga saya tidak perlu mengetik banyak hal?
Ungeheuer
5
Sebenarnya Anda juga bisa membuat tes Junit Jar yang bisa dijalankan dan memanggil jar yang bisa dijalankan sebagai java -jar
Di Eclipse, klik kanan proyek JUnit Anda -> Klik Ekspor -> Pilih Java-> Runnable Jar File
Indraneel
4
Jika proyek Anda berbasis Maven, Anda dapat menjalankan semua metode uji dari kelas uji CustomTest yang termasuk dalam modul 'modul-saya' menggunakan perintah berikut:
mvn clean test -pl :my-module -Dtest=CustomTest
Atau jalankan hanya 1 metode uji myMethod dari kelas uji CustomTest menggunakan perintah berikut:
mvn clean test -pl :my-module -Dtest=CustomTest#myMethod
Itu sebabnya saya berkata "jika proyek Anda berbasis semut". Perhatikan juga bahwa OP mungkin tidak tahu tentang semut.
cherouvim
Saya mengalami dillema ini, file tes unit tidak ada dalam folder yang ditandai sebagai sumber oleh gerhana. Proyek itu menggunakan semut untuk membangun, ini adalah cara yang tepat untuk menjalankan tes JUnit itu.
javac -cp "junit-4.12.jar; hamcrest-core-1.3.jar;." Tests.java
bekerja untukku. Perhatikan titik akhir - penting!Jawaban:
Untuk JUnit 5.x itu:
Temukan ringkasan singkat di https://stackoverflow.com/a/52373592/1431016 dan detail lengkapnya di https://junit.org/junit5/docs/current/user-guide/#running-tests-console-launcher
Untuk JUnit 4.X itu benar-benar:
Tetapi jika Anda menggunakan JUnit 3.X perhatikan nama kelasnya berbeda:
Anda mungkin perlu menambahkan lebih banyak JAR atau direktori dengan file kelas Anda ke classpath dan pisahkan dengan titik koma (Windows) atau titik dua (UNIX / Linux). Itu tergantung pada lingkungan Anda.
Sunting: Saya telah menambahkan direktori saat ini sebagai contoh. Bergantung pada lingkungan Anda dan bagaimana Anda membangun aplikasi Anda (bisa berupa bin / atau build / atau bahkan my_application.jar dll). Catatan Java 6+ mendukung glob di classpath, Anda dapat melakukannya:
Semoga ini bisa membantu. Tulis tes! :-)
sumber
Cara Maven
Jika Anda menggunakan Maven, Anda dapat menjalankan perintah berikut untuk menjalankan semua kasus pengujian Anda:
Atau Anda dapat menjalankan tes tertentu seperti di bawah ini
Jika Anda ingin melihat jejak tumpukan (jika ada) di konsol alih-alih file laporan di folder target \ surefire-laporan, setel properti pengguna surefire.useFile ke false. Sebagai contoh:
Cara gradle
Jika Anda menggunakan Gradle, Anda dapat menjalankan perintah berikut untuk menjalankan semua kasus pengujian Anda:
Atau Anda dapat menjalankan tes tertentu seperti di bawah ini
Jika Anda ingin informasi lebih lanjut, Anda dapat mempertimbangkan opsi seperti --stacktrace, atau --info, atau --debug.
Misalnya, ketika Anda menjalankan Gradle dengan info logging level --info, itu akan menunjukkan kepada Anda hasil dari setiap tes saat mereka berjalan. Jika ada pengecualian, itu akan menunjukkan jejak tumpukan, menunjukkan apa masalahnya.
Jika Anda ingin melihat hasil pengujian keseluruhan, Anda dapat membuka laporan di browser, misalnya (Buka menggunakan Google Chrome di Ubuntu):
Cara semut
Setelah Anda mengatur file build build Ant.xml Anda, Anda dapat menjalankan test case JUnit Anda dari baris perintah seperti di bawah ini:
Anda dapat mengikuti tautan di bawah ini untuk membaca lebih lanjut tentang cara mengkonfigurasi tes JUnit dalam file Ant build: https://ant.apache.org/manual/Tasks/junit.html
Cara normal
Jika Anda tidak menggunakan Maven, atau Gradle atau Ant, Anda dapat mengikuti cara berikut:
Pertama-tama, Anda perlu mengkompilasi kasus pengujian Anda. Misalnya (di Linux):
Kemudian jalankan test case Anda. Sebagai contoh:
sumber
Jawaban yang diberikan @ lzap adalah solusi yang bagus. Namun, saya ingin menambahkan bahwa Anda harus menambahkan. ke jalur kelas, sehingga direktori Anda saat ini tidak ditinggalkan, sehingga kelas Anda sendiri akan ditinggalkan. Ini terjadi pada saya di beberapa platform. Jadi versi terbaru untuk JUnit 4.x adalah:
sumber
Pastikan JUnit.jar ada di classpath Anda, lalu panggil runner baris perintah dari konsol
Referensi: FAQ junit
sumber
Dengan JUnit 4.12 berikut ini tidak berfungsi untuk saya:
Rupanya , mulai JUnit 4.11 dan selanjutnya Anda juga harus memasukkan
hamcrest-core.jar
dalam classpath Anda:sumber
java -cp .:/usr/share/java/junit4.jar org.junit.runner.JUnitCore [test class name]
Di windows itu
java -cp .;/path/junit.jar org.junit.runner.JUnitCore TestClass
[nama kelas uji tanpa ekstensi .class]misalnya:
c:\>java -cp .;f:/libraries/junit-4.8.2 org.junit.runner.JUnitCore TestSample1 TestSample2 ...
dan seterusnya, jika seseorang memiliki lebih dari satu kelas tes.-cp adalah singkatan dari class path dan dot (.) mewakili classpath yang ada sementara semi colon (;) menambahkan jar yang diberikan tambahan ke classpath, seperti pada contoh di atas junit-4.8.2 sekarang tersedia di classpath untuk mengeksekusi kelas JUnitCore yang di sini kita telah terbiasa mengeksekusi kelas tes kami.
Pernyataan baris perintah di atas membantu Anda untuk menjalankan tes junit (versi 4+) dari command prompt (yaitu MSDos).
Catatan: JUnitCore adalah fasad untuk menjalankan tes junit, fasad ini termasuk dalam 4+ versi junit.
sumber
Sebenarnya Anda juga bisa membuat tes Junit Jar yang bisa dijalankan dan memanggil jar yang bisa dijalankan sebagai java -jar
sumber
Jika proyek Anda berbasis Maven, Anda dapat menjalankan semua metode uji dari kelas uji CustomTest yang termasuk dalam modul 'modul-saya' menggunakan perintah berikut:
Atau jalankan hanya 1 metode uji myMethod dari kelas uji CustomTest menggunakan perintah berikut:
Untuk kemampuan ini Anda memerlukan Maven Surefire Plugin v.2.7.3 + dan Junit 4. Lebih detail ada di sini: http://maven.apache.org/surefire/maven-surefire-plugin/examples/single-test.html
sumber
Secara pribadi saya akan menggunakan pelari JUnit pasti Maven untuk melakukan itu.
sumber
Atau Anda dapat menggunakan metode berikut di kelas JunitCore http://junit.sourceforge.net/javadoc/org/junit/runner/JUnitCore.html
jalankan (dengan Permintaan, kelas, dan Pelari) atau runClasses dari file java Anda.
sumber
Jika Anda memproyeksikan berdasarkan semut maka Anda harus dapat melakukan sesuatu seperti ini dari konsol:
Jika ini tidak berhasil, tetapi tetap saja proyek Anda berbasis semut, Anda dapat menjalankan
ant -p
daftar target utama proyek.sumber