2016-08-26 2 views
6

Я пытаюсь издеваться окончательным классомPowermock mockstatic Не может подклассы конечного класса

PowerMockito.mockStatic(TestFinalClass.class); 

Он работает от моего затмения, когда я бег один JUnit и добавить javaagent моих аргументов VM

-javaagent:{path}/powermock-module-javaagent-1.6.4.jar 

Но когда я пытаюсь запустить все тестовые примеры из командной строки, используя команду maven build, я все еще получаю «Не могу подкласса окончательного класса»

Ниже представлен мой фрагмент из pom.xml

  <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-surefire-plugin</artifactId> 
      <version>2.4</version> 
      <configuration> 
       <argLine>-javaagent:{path}/powermock-module-javaagent-1.6.4.jar</argLine> 
      </configuration> 
     </plugin> 

ответ

14
package test; 

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

@RunWith(PowerMockRunner.class) 
@PrepareForTest(FinalClass.class) 
public class Tests { 
    @Test 
    public void test() { 
    PowerMockito.mockStatic(FinalClass.class); 
    } 
} 

Это работает для меня. Если вы добавите аннотации «PowerMockRunner» и «PrepareForTest», вам не нужно использовать дополнительные аргументы vm.

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