Pertanyaan 'Tidak ditemukan tes JUnit' di Eclipse


Jadi saya baru di JUnit, dan kami harus menggunakannya untuk pekerjaan rumah. Profesor kami memberi kami sebuah proyek yang memiliki satu kelas tes, BallTest.java. Ketika saya mengklik kanan> Run as> JUnit Test, saya mendapatkan kesalahan popup yang mengatakan 'Tidak ditemukan tes JUnit'. Saya tahu pertanyaan telah dijawab di sini (Tidak ada tes yang ditemukan dengan pelari uji 'JUnit 4'), tetapi menutup gerhana, memulai kembali, membersihkan, dan membangun tampaknya tidak berhasil. Di bawah ini adalah screenshot dari konfigurasi run saya, jalur build, dan kelas yang saya coba uji.

Run Configuration Build Path

BallTest.java

import static org.junit.Assert.*;
import junit.framework.Assert;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.JUnitCore; 
import org.junit.runner.Result; 
import org.junit.runner.notification.Failure; 

public class BallTest {

Ball ball;

/**
 * @throws java.lang.Exception
 */
@Before
public void setUp() throws Exception {
    System.out.println("Setting up ...");
    Point2D p = new Point2D(0,0);
    ball = new Ball(p);
}

/**
 * @throws java.lang.Exception
 */
@After
public void tearDown() throws Exception {
    System.out.println("Tearing down ...");
    ball = null;
}

/**
 * Test method for {@link Ball#getCoordinates()}.
 */
@Test
public void testGetCoordinates() {
    assertNotNull(ball); // don't need Assert. because of the import statement above.
    Assert.assertEquals(ball.getCoordinates().getX(), 0);
    Assert.assertEquals(ball.getCoordinates().getY(), 0);
}

/**
 * Test method for {@link Ball#setCoordinates(Point2D)}.
 */
@Test
public void testSetCoordinates() {
    Assert.assertNotNull(ball);
    Point2D p = new Point2D(99,99);
    ball.setCoordinates(p);
    Assert.assertEquals(ball.getCoordinates().getX(), 99);
    Assert.assertEquals(ball.getCoordinates().getY(), 99);
}

/**
 * Test method for {@link Ball#Ball(Point2D)}.
 */
@Test
public void testBall() {
    Point2D p = new Point2D(49,30);
    ball = new Ball(p);
    Assert.assertNotNull(ball);
    Assert.assertEquals(ball.getCoordinates().getX(), 49);
    Assert.assertEquals(ball.getCoordinates().getY(), 30);

    //fail("Not yet implemented");
}

public static void main (String[] args) {
         Result result = JUnitCore.runClasses(BallTest.class);
         for (Failure failure : result.getFailures()) { 
                System.out.println(failure.toString()); 
            } 
        System.out.println(result.wasSuccessful());  
}

}

38
2017-11-18 20:58


asal


Jawaban:


Ini memperbaikinya:

Klik kanan pada folder bernama 'Test'> Build Path> Gunakan sebagai Folder Sumber.

Saya tidak sepenuhnya mengerti mengapa demikian, bisakah seseorang mengomentari itu?


53
2017-11-19 02:50



Jika tidak ada jawaban yang cocok untuk Anda, inilah yang berhasil bagi saya.

Jalankan ulang gerhana

Saya memiliki folder sumber yang dikonfigurasi dengan benar, dan tes unit dianotasikan dengan benar tetapi masih mendapatkan "Tidak ditemukan tes JUnit", untuk satu proyek. Setelah restart, itu berhasil. Saya menggunakan STS 3.6.2 berdasarkan gerhana Luna 4.4.1


15
2017-11-18 10:44



klik kanan -> build path -> hapus dari jalur build dan kemudian tambahkan lagi -> Klik kanan pada folder bernama 'Test'> Build Path> Gunakan sebagai Folder Sumber.


9
2017-08-31 17:20



Sepertinya Anda kehilangan definisi pelari di kelas pengujian Anda, itu bisa menjadi penyebabnya:

import org.junit.runners.JUnit4;
@RunWith(JUnit4.class)
public class BallTest {
...
}

4
2017-11-18 21:29



Saya memiliki masalah yang sama dan dipecahkan seperti ini: Saya menghapus @Test anotasi dan mengetik ulang. Itu berhasil, saya tidak tahu mengapa.


4
2018-06-06 17:02



Setiap solusi tidak bekerja untuk saya sampai saya mengubah nama metode pengujian saya. Ketika nama metode tes dimulai dengan "test" adalah OK. Saya baru dalam pemrograman android dan itu bagi saya kejutan besar.


2
2017-12-22 13:37



Saya pikir Anda telah membuat kelas tes Anda di luar folder src. Anda dapat memecahkan masalah di atas dengan dua cara:

  1. Tambahkan nama paket Anda di java build path->source

  2. Pindahkan Anda package/class di src map

Saya memiliki masalah yang sama dan dipecahkan dengan cara ini kedua solusi bekerja dengan baik.


2
2017-12-24 19:07



  1. Klik kanan proyek Anda -> Properties-> Java Build Path dan buka Tab Sumber lalu tambahkan folder pengujian src Anda.
  2. Pilih menu Project dan batalkan pilihan 'Build Automatically' jika terpilih
  3. Pilih Bersihkan dan kemudian pilih opsi 'Bangun Secara Otomatis'
  4. Mulai ulang Eclipse dan jalankan junit Anda.

2
2017-10-06 13:03