2016-12-12 15 views
0

Я пытаюсь издеваться над конструктором класса с PowerMockito в первый раз, но он не работает. Мой текущий код:Как издеваться над конструктором с PowerMockito

public class Bar { 
    public String getText() { 
     return "Fail"; 
    } 
} 

public class Foo { 
    public String getValue(){ 
     Bar bar= new Bar(); 
     return bar.getText(); 
    } 

} 

@RunWith(PowerMockRunner.class) 
@PrepareForTest(Bar.class) 
public class FooTest { 
    private Foo foo; 
    @Mock 
    private Bar mockBar; 

    @Before 
    public void setUp() throws Exception { 
     MockitoAnnotations.initMocks(this); 
     PowerMockito.whenNew(Bar.class).withNoArguments().thenReturn(mockBar); 
     foo= new Foo(); 
    } 

    @Test 
    public void testGetValue() throws Exception { 
     when(mockBar.getText()).thenReturn("Success"); 
     assertEquals("Success",foo.getValue()); 

    } 
} 

Тест не проходит, потому что возвращаемое значение «Fail». Где моя проблема?

ответ

1

Окей, нашли ответ, вам нужно позвонить в

@PrepareForTest(Foo.class) 

вместо

@PrepareForTest(Bar.class) 
Смежные вопросы