mock带参数的构造函数

时间:2023-03-10 04:14:24
mock带参数的构造函数

@RunWith(PowerMockRunner.class)
@PrepareForTest(Helper.class)//1.添加要初始化的类,就是构造函数所在的类
public class HelperTest {
  @Mock
  private Something mockSomething;
      
  @InjectMocks
  private Helper helper;
      
  @Test
  public void doSomething() throws Exception {
      String argument = "arg";
          
      PowerMockito.whenNew(Something.class).withArguments(argument).thenReturn(mockSomething);//2.添加要构造的函数的类,参数和返回值
          
      // 3.调用需要测试方法
      helper.doSomething(argument);
          
      // 进行验证
      verify(mockSomething).doIt();
  }
}

public class Helper {
  public void doSomething(String arg) {
      Something something = new Something(arg);
      something.doit();
  }
}