簡體   English   中英

找不到與IntelliJ中的Method main匹配的測試

[英]No tests found matching Method main in IntelliJ

我的課程是測試課程,它具有以下結構:

import org.junit.Test;
import org.junit.runner.RunWith;
import org.powermock.modules.junit4.PowerMockRunner;

@RunWith(PowerMockRunner.class)
public class MyClassTest {

    public static void main(String[] args) {
        System.out.println("in main");
    }

    @Test
    public void maxTest() {
        System.out.println("test");
    }

}

如果我右鍵單擊main方法> Run'main',則會引發以下異常:

java.lang.Exception: No tests found matching Method main(MyClassTest) from org.junit.internal.requests.ClassRequest@26aa12dd
    at org.junit.internal.requests.FilterRequest.getRunner(FilterRequest.java:35)
    at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:41)
    at com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:212)
    at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:68)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at com.intellij.rt.execution.application.AppMain.main(AppMain.java:140)

如果我按右鍵單擊類名> Run'MyClassTest.main()',則可以正常打印:

in main

如果我注釋掉@RunWith(PowerMockRunner.class) ,則在兩種情況下都可以正常工作。

如果我使用@RunWith(MockitoJUnitRunner.class)而不是@RunWith(PowerMockRunner.class)則會出現相同的問題。

為什么有區別呢?

細節:

  • Windows 7的
  • JUnit 4.12
  • PowerMock 1.6.2
  • Java 8
  • Maven 3
  • IntelliJ IDEA 14.1.3

拋出異常是因為main方法上沒有@Test批注。

請檢查您的類路徑中是否有需要powermock的javassist庫版本。

在這種情況下,Junit似乎無法報告正確的根故障原因。 有關詳細信息,您可以看到此問題

暫無
暫無

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

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