我的类是一个测试类,它具有以下结构:
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
方法 > 运行“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
- 行家 3
- IntelliJ IDEA 14.1.3
最佳答案
由于 main
方法没有 @Test
注释而抛出异常。
关于java - 未在 IntelliJ 中找到匹配方法 main 的测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30416151/