@RunWith(PowerMockRunner.class)说@RunWith不适用于方法

时间:2016-07-11 07:45:56

标签: java powermock

我有一个gradle文件

testCompile('junit:junit')
testCompile('org.powermock:powermock-core:1.6.5')
testCompile('org.powermock:powermock-api-mockito:1.6.5')
testCompile('org.powermock:powermock-module-junit4:1.6.5')

我的测试文件

import org.junit.runner.RunWith;
import org.mockito.Mockito;
import org.powermock.api.mockito.PowerMockito;
import org.powermock.core.classloader.annotations.PrepareForTest;
import org.powermock.modules.junit4.PowerMockRunner;

@RunWith(PowerMockRunner.class)
@PrepareForTest(ExperimentService.class)

@RunWith似乎有一个错误,我似乎无法找到问题,只是说' @RunWith'不适用于方法。

我做错了什么?

感谢。

2 个答案:

答案 0 :(得分:4)

如果你看到RunWith.class,这个注释的目标是ElementType.Type,这意味着它只能应用于Class,enum或interface声明。

@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.TYPE})
@Inherited
public @interface RunWith {
    Class<? extends Runner> value();
}

您无法在方法上应用此注释。

答案 1 :(得分:2)

哦,没关系,我发现了我的错误,似乎我把声明放在了课堂上。