2014-01-13 2 views
2

Мне нужно использовать макет, который имеет окончательный метод. Так я использую powermock, но он не работаетиспользовать mockito для заглушки окончательный метод

class B { 
    public final int nb() { 
     return 4; 
    } 
} 

@RunWith(PowerMockRunner.class) 
@PrepareForTest(B.class) 
public class Exemple extends TestCase { 
    @Test 
    public void test() { 
     B b = PowerMockito.mock(B.class); 

     PowerMockito.when(b.nb()).thenReturn(5); 

     final int actualState = b.nb(); 

     assertEquals(5, actualState); 

    } 
} 

если кто-то имеет решение, спасибо заранее

+0

Почему это не работает для вас, это работает очень хорошо. – MariuszS

ответ

3

Ваш пример хорошо, должен работать без каких-либо проблем.

Tests Passed: 1 passed in 0,226 s 

Я тестировал его с

<dependency> 
    <groupId>junit</groupId> 
    <artifactId>junit</artifactId> 
    <version>4.11</version> 
</dependency> 

<dependency> 
    <groupId>org.powermock</groupId> 
    <artifactId>powermock-module-junit4</artifactId> 
    <version>1.5.2</version> 
</dependency> 
+1

Это работает, мой путь строительства не был хорошим, Благодарим за помощь – Toisur

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