Saya baru memulai program ilmu komputer di kampus saya, dan saya mengalami beberapa masalah dengan IntelliJ. Ketika saya mencoba menjalankan unit test, saya mendapatkan pesan
Process finished with exit code 1
Class not found: "edu.macalester.comp124.hw0.AreaTest"Empty test suite.
Saya juga melihat pesan berjudul "Tidak ada tes yang ditemukan" di sisi kiri layar saya. Kode pengujian saya ada di sini:
package edu.macalester.comp124.hw0;
import org.junit.Test;
import static org.junit.Assert.*;
public class AreaTest {
@Test
public void testSquare() {
assertEquals(Area.getSquareArea(3.0), 9.0, 0.001);
}
@Test
public void testCircle() {
assertEquals(Area.getCircleArea(3.0), 28.2743, 0.001);
}
}
Dan kode proyek saya ada di sini:
package edu.macalester.comp124.hw0;
import java.lang.Math;
public class Area {
/**
* Calculates the area of a square.
* @param sideLength The length of the side of a square
* @return The area
*/
public static double getSquareArea(double sideLength) {
// Has been replaced by correct formula
return sideLength * sideLength;
}
/**
* Calculates the area of a circle.
* @param radius The radius of the circle
* @return The area
*/
public static double getCircleArea(double radius) {
// Replaced by correct value
return radius * 2 * Math.PI;
}
}
Bagaimana saya bisa menjalankan tes saya? Saya menggunakan versi terbaru dari IntelliJ IDEA CE.
java
unit-testing
intellij-idea
junit
arnbobo
sumber
sumber
mvn clean package
di terminal. Tidak yakin mengapa IntelliJ mengimpor proyek dengan salah pada awalnya.Jawaban:
Punya pesan yang sama. Saya harus menghapus konfigurasi Run / Debug.
Dalam kasus saya, saya menjalankan tes unit sebagai tes lokal sebelumnya. Setelah itu saya memindahkan tes saya ke paket androidTest dan mencoba menjalankannya lagi. Android Studio mengingat konfigurasi jalankan terakhir sehingga mencoba menjalankannya lagi sebagai uji unit lokal yang menghasilkan kesalahan yang sama.
Setelah menghapus konfigurasi dan menjalankan tes lagi menghasilkan konfigurasi baru dan berfungsi.
sumber
File > Cashes / Restart
saya pergi ke
dan kemudian itu berhasil untuk saya.
sumber
Saya memiliki masalah yang sama. Saya membangun kembali proyek, dan itu membantu saya.
Pergi ke Build -> Rebuild Project
Setelah itu, jika Anda menggunakan alat Maven, saya sarankan gunakan opsi Reimport All Maven Projects
Jika tidak membantu, coba solusi lain yang mungkin:
atau:
Demikian pula melakukan hal yang sama dengan direktori tes sehingga: src / test / java klik kanan pada direktori java dan pilih opsi Tandai direktori sebagai -> Sumber Uji Root
atau:
atau:
Periksa opsi:
Tombol radio Gunakan jalur kompilasi modul yang harus dipilih.
Jalur keluaran harus ada di dalam proyek Anda. Jalur output Uji juga harus berupa direktori di dalam proyek Anda. Sebagai contoh dapat terlihat serupa:
Jalur output: C: \ path \ to \ your \ module \ yourModule \ target \ class
Tes jalur Output: C: \ path \ to \ your \ module \ yourModule \ target \ test-class
Kecualikan output jalan harus dipilih.
sumber
Build -> Rebuild Project
) adalah yang berhasil bagi saya. Terima kasih!<project-root>/src/test/java
sebagai root uji, danBuild -> Rebuild Project
bekerja untuk saya. Juga ketika kelas yang berisi tes dalam paket dengan nama paket dimulai denganjava.*
, saya mendapat Pengecualian Keamanan.Ini juga dapat terjadi, jika folder pengujian Anda telah diimpor sebagai modul terpisah (kotak kecil ditampilkan pada ikon folder dalam tampilan proyek).
Lepaskan modul dengan memilih folder uji pada tampilan proyek dan tekan DEL.
Kemudian mulailah tes Anda.
Jika dialog sembulan muncul dengan pesan kesalahan, bahwa tidak ada modul yang dipilih, tentukan modul root Anda dari dropdown.
sumber
Saya memiliki masalah yang sama setelah memulai proyek IntelliJ baru. Saya menemukan bahwa "jalur kompilasi modul keluaran" untuk modul saya tidak ditentukan dengan benar. Ketika saya menetapkan jalur di "kompilasi jalur keluaran" modul ke lokasi yang tepat, masalahnya terpecahkan. Jalur keluaran kompilasi ditetapkan dalam pengaturan Proyek. Di bawah Modul, pilih modul yang terlibat dan pilih tab Paths ...
Tab Paths di Pengaturan Proyek | Dialog modul
... Saya mengirim output kompiler ke folder bernama "output" yang ada di folder Project induk.
sumber
Dalam kasus saya, saya memiliki semua yang lain di tempat yang tepat, tetapi saya sedang mengerjakan perpustakaan java dengan kotlin . Saya hanya lupa menerapkan plugin:
Dan sekarang ini berfungsi seperti yang diharapkan sekarang.
sumber
Jadi, masalah saya di sini adalah dengan nama folder. Saya telah memanggil folder kode saya Kelas 2016/2017, yang tidak disukai IntelliJ. Cukup hapus garis miring (atau karakter menyinggung lainnya di jalur), impor ulang proyek, dan Anda akan baik-baik saja!
sumber
Di Android Studio 3.0 +, kadang-kadang tes UI ditafsirkan sebagai unit test dan tidak meminta pemilihan penyebaran target. Anda dapat pergi ke Edit Konfigurasi dan menandainya sebagai tes Integrasi dan itu akan mulai berfungsi
sumber
Saya memiliki masalah yang sama dan membangun kembali / membatalkan cache, dll. Tidak berfungsi. Sepertinya itu hanya bug di Android Studio ...
Solusi sementara hanya menjalankan tes unit Anda dari baris perintah dengan:
Lihat: https://developer.android.com/studio/test/command-line.html
sumber
Jika proyek memiliki masalah kompilasi maka tes mungkin tidak berjalan. Jadi pertama membangun proyek sebagai Build -> Build Project. Setelah kompilasi berhasil, jalankan kembali tes.
Jika tidak ada yang berhasil maka cukup tutup jendela proyek dan hapus proyek dan impor kembali sebagai proyek Gradle / Maven yang akan mengatur segalanya untuk Anda dengan menimpa file yang dibuat IntelliJ yang ada. Ini akan menghapus cache tidak valid yang dibuat.
Anda juga bisa membatalkan cache.
File -> Invalidate Caches/Restart
sumber
Saya memiliki pertanyaan yang sama ketika saya mengimpor beberapa
jar
dari Maven, dan kemudian, menyebabkanempty-test-suite
kesalahan.Dalam kasus saya, itu karena pakar pengaturan ulang file modul. Yang saya atasi dengan menghapus konfigurasi default saya:
sumber
Mengimport ulang proyek atau modul dapat menyelesaikan masalah. Saya membuat masalah ini dengan mengganti nama nama paket saat berkembang. Tetapi jalur keluar dan jalur keluaran uji adalah jalur lama. Jadi intellij tidak dapat menemukan kelas dari jalan lama. Jadi cara termudah adalah mengoreksi jalur keluar dan menguji jalur keluaran.
sumber
Saya memiliki masalah yang sama (Android Studio 3.2 Canary 4) dan saya mencoba sebagian besar saran yang dijelaskan dalam jawaban lain - tanpa hasil. Perhatikan ini terjadi setelah saya memindahkan file dari
test
keandroidTest
folder. Itu masih ditampilkan dalam konfigurasi run sebagai tes bukan tes instrumented.Saya akhirnya membuat file baru:
sumber
Menariknya, saya menghadapi masalah ini berkali-kali karena alasan yang berbeda. Untuk mis. Mengesahkan cache dan memulai kembali juga telah membantu.
Terakhir saya memperbaikinya dengan memperbaiki jalur output saya di File -> Struktur Proyek -> Proyek -> Output Kompilator Proyek ke: absolute_path_of_package / out
untuk misalnya: / Pengguna / orang-acak / myWorkspace / src / DummyProject / out
sumber
Ini juga akan terjadi ketika modul Anda dan / atau proyek-jdk tidak dikonfigurasi dengan benar.
sumber
Menghapus
.idea
dan mengimpor kembali proyek SBT memecahkan masalah ini untuk saya.sumber
Dalam kasus saya, IntelliJ tidak mengkompilasi sumber tes karena alasan aneh. Saya hanya memodifikasi konfigurasi build dan menambahkan tujuan pakar
clean test-compile
diBefore launch
bagiansumber
Dalam kasus saya ada masalah dengan nama tes :).
Jika namanya:
dummyNameTest
maka tidak mendapatkan tes di mana ditemukan, tetapi jikatestDummyName
semuanya baik-baik sajasumber
Saya memiliki masalah yang sama. Dalam kasus saya, saya memiliki beberapa kelas uji dalam paket / folder di luar folder utama. Tetapi ketika saya memeriksa konfigurasi Run, selalu berusaha mencari kelas di dalam folder utama (dan bukan paket saya di luar main). Jadi jika itu masalahnya, Anda juga harus memindahkan paket ke tempat konfigurasi Run menunjuk. Atau ubah konfigurasi jalankan untuk menunjuk ke paket Anda.
sumber
Apakah tes Anda memerlukan perangkat Android (emulator atau perangkat keras)?
Jika demikian, ini disebut "uji instrumen" dan berada di "module-name / src / androidTest / java /".
Jika tidak, ini disebut "uji unit lokal" dan berada di "module-name / src / test / java"
https://developer.android.com/training/testing/start/index.html
Saya mendapat kesalahan yang sama karena saya telah menulis tes unit lokal, tetapi ditempatkan di folder untuk tes instrumen. Memindahkan tes unit lokal ke folder "src / test / java" memperbaikinya untuk saya.
sumber
Sedang mendapatkan kesalahan yang sama. Perangkat saya tidak terhubung ke studio android. Ketika saya terhubung ke studio. Berhasil. Ini menyelesaikan masalah saya.
sumber
Mungkin karena folder tidak ditetapkan sebagai sumber pengujian, yang dapat dilakukan melalui Pengaturan Modul> Modul.
sumber
Bagi saya proyek itu dikompilasi di luar proyek. Saya hanya mengubah jalurnya. Untuk mengubah path (saya menggunakan mac).
sumber
Dalam kasus saya, masalahnya diperbaiki dengan masuk ke saya
build.gradle
dan berubahuntuk
sumber
Saya mencoba semua solusi tetapi tidak ada yang membantu. Pada akhirnya saya menjalankan tes dalam mode debug dan .... mulai bekerja. Mungkin beberapa cache pakar dihapus. Sulit untuk mengatakan. Berhasil. Mencoba
mvn test -X
sumber
Cukup klik tombol kanan mouse Anda pada file di Projects windows dan pilih
"Jalankan YourTest ".
Semuanya baru saja mulai OK sekarang, mungkin karena konfigurasi run yang salah sedang dibangun kembali.
sumber
Ini dapat terjadi (setidaknya sekali untuk saya;) setelah menginstal versi baru IntelliJ dan plugin IntelliJ belum diperbarui.
Anda mungkin harus melakukan secara manual
Check for updates…
dari menu Bantuan IntelliJ.sumber
Dalam struktur proyek Maven Anda src / main / java klik kanan pada direktori java dan pilih opsi Tandai direktori sebagai -> Sumber Root
Demikian pula lakukan hal yang sama dengan direktori pengujian sehingga: src / test / java klik kanan pada direktori java dan pilih opsi Tandai direktori sebagai -> Sumber Uji Root
Bekerja untuk saya :-)
sumber
ikuti langkah-langkah di bawah ini di Intellij (dengan tangkapan layar untuk pemahaman yang lebih baik):
arahkan ke modul dan sekarang pilih modul, di mana file tes Junit Anda hadir dan pilih tombol radio "Gunakan modul kompilasi keluaran".
Sebutkan jalur folder kelas masing-masing, mirip dengan screenshot yang dilampirkan.
sumber
Masalah yang sama di sini menggunakan IDEA 15.0.6, dan tidak ada yang membantu kecuali ketika saya mengganti nama paket kelas tes. Setelah itu saya mengganti nama kembali ke nama aslinya dan masih berfungsi, sehingga tindakan mengubah nama mungkin telah membersihkan beberapa cache.
sumber