如何从抽象类中模拟继承的受保护方法

问题描述 投票:0回答:3

给出一个抽象类

public abstract class ClassA
{

   protected String getName()
   {
    return "my name"
   }

}

public class ClassB extends ClassA{
   public void doSomething(){
     String name = getName();
   }
}

如何为doSomething类编写测试时如何模拟getName()方法>>

给一个抽象类,公共抽象类ClassA {受保护的字符串getName(){返回“我的名字”}}}公共类ClassB扩展了ClassA {public void doSomething(){String ...

java mockito powermockito
3个回答
1
投票

您模拟具体课程的方式相同。在测试类中的属性旁边使用@Mock批注。


0
投票
@Test
public void testcase() {
    ClassB classB= new ClassB();
    Mockito.doNothing().when((ClassA)classB).getName(); // your mock behaviour doReturn etc
    classB.doSomething();

}

0
投票
@Test
public void testcase() {
    ClassB b = mock(ClassB.class);
    doReturn("new name").when(b).getName();
}
© www.soinside.com 2019 - 2024. All rights reserved.