2016-07-11 5 views
1

У меня есть файл Gradle@RunWith (PowerMockRunner.class) говорит @RunWith не относится к методу

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» неприменим к методу.

Что я делаю неправильно?

Спасибо.

ответ

1

Если вы видите RunWith.class, целью для этой аннотации является ElementType.Type, что означает, что он может применяться только к объявлению класса, перечисления или интерфейса.

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

Вы не можете применять эту аннотацию к методу.

+0

Извините, я не понимаю, что вы имеете в виду, потому что я на самом деле следую http://stackoverflow.com/questions/24039184/mock-java-lang-runtime-with-powermockito и этот gist.github.com/dimhold/5759950, когда я пытаюсь высмеять команду выполнения Вы говорите, что я не могу сделать это таким образом? Извините, очень новичок в этом. – Desmond

+0

Вы можете разместить свой код –

1

О, неважно, я нашел свою ошибку, кажется, что я положил утверждение внутри класса.

Смежные вопросы