簡體   English   中英

java.lang.Exception:沒有可運行的方法

[英]java.lang.Exception: No runnable methods

我正在為我的項目做一些JUnit 4測試。 我已經閱讀了stackOverflow解決方案,但是它們都沒有幫助。 在運行單個JUnit測試期間,出現錯誤

java.lang.Exception: No runnable methods
at org.junit.runners.BlockJUnit4ClassRunner.validateInstanceMethods(BlockJUnit4ClassRunner.java:191)
at org.junit.runners.BlockJUnit4ClassRunner.collectInitializationErrors(BlockJUnit4ClassRunner.java:128)
at org.junit.runners.ParentRunner.validate(ParentRunner.java:416)
at org.junit.runners.ParentRunner.<init>(ParentRunner.java:84)
at org.junit.runners.BlockJUnit4ClassRunner.<init>(BlockJUnit4ClassRunner.java:65)
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.<init>(SpringJUnit4ClassRunner.java:111)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:422)

我試圖使緩存無效,在我的庫根目錄中有junit-4.12.jar和hamcrest-core-1.3.jar。 仍然有錯誤。 這是我的代碼

    import org.junit.Before;
    import org.junit.Test;

    import static org.junit.Assert.*;

    /**
     * Created by Asus on 2018-01-06.
     */
    public class ZamowieniaRepositoryTest {

        ZamowieniaRepository zamRepo;

        @Before
        public void setUp() throws Exception {
            zamRepo = new ZamowieniaRepository();
            Zamowienie zamowienie = new Zamowienie();
            zamRepo.zamowienie = zamowienie;
        }

        @Test
        public void utworzPozycjeZamowienia() throws Exception {
            Towar towar = new Towar(2,"Wkladki",870);
            PozycjaZamowienia pozycja = new PozycjaZamowienia(0,towar);
            assertEquals(0,zamRepo.utworzPozycjeZamowienia(towar).getId());
            assertEquals(pozycja.getTowar(),zamRepo.utworzPozycjeZamowienia(towar).getTowar());
        }

        @Test
        public void sprawdzDostepnoscTowaru() throws Exception {
            zamRepo.zamowienie.dodajPozycje(new PozycjaZamowienia(0,new Towar(0,"Srubki",30),25,5));
            zamRepo.zamowienie.dodajPozycje(new PozycjaZamowienia(1,new Towar(0,"Wkrety",85),47,2));
            assertEquals(true,zamRepo.sprawdzDostepnoscTowaru(0,25));
            assertEquals(false,zamRepo.sprawdzDostepnoscTowaru(0,38));
        }

        @Test
        public void usunPozycje() throws Exception {
            zamRepo.zamowienie.dodajPozycje(new PozycjaZamowienia(0,new Towar(0,"Srubki",30),25,5));
            zamRepo.zamowienie.dodajPozycje(new PozycjaZamowienia(1,new Towar(0,"Wkrety",85),47,2));
            zamRepo.zamowienie.usunPozycje(1);
            assertEquals(1,zamRepo.zamowienie.getSize());
        }

}

對不起,不是英文代碼。 謝謝你的幫助! ;)

我建議您仔細檢查您的進口。 為了進行調試,請使用諸如testMyFlow()類的模式來命名您的方法。 出於某種原因,您可能導入了JUnit或將其作為運行器使用。

您還可以嘗試通過以下方式為課程添加注釋:

@RunWith(JUnit4.class)

這將始終調用JUnit的4個默認運行程序。 更多信息在這里

此外,如果要使用Mockito ,則需要使用測試運行器注釋該類:

@RunWith(MockitoJUnitRunner.class)
public class ZamowieniaRepositoryTest {

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM