由于要代码中使用了 Date 类生成实时时间,单元测试中需要 Mock Date 的构造方法,以预设其行为,这就要使用到 PowerMock

在 Spring Boot 的测试套件中,需要添加 @RunWith(SpringRunner.class) 和 @SpringBootTest 注解。

但是 PowerMock 需要添加 @RunWith(PowerMockRunner.class) 注解。

@RunWith 注解只能有一个,解决方案是使用 @PowerMockRunnerDelegate 注解,同时使用 @PowerMockIgnore 注解避免报错:

@RunWith(PowerMockRunner.class)
@PowerMockRunnerDelegate(SpringRunner.class)
@PowerMockIgnore({"javax.management.*", "javax.net.ssl.*"})
@PrepareForTest({UsersService.class, Date.class})
@SpringBootTest
@Transactional
//@Rollback(false)
public class UsersServiceTest {
  private Date date;
  @Before
  public void setUp() throws Exception {
}

 

相关文章:

  • 2022-12-23
  • 2021-12-07
  • 2021-10-14
  • 2021-12-05
  • 2021-12-25
  • 2022-12-23
  • 2021-11-09
  • 2022-12-23
猜你喜欢
  • 2022-02-02
  • 2021-05-27
  • 2021-11-04
  • 2021-06-05
  • 2022-02-05
  • 2022-02-28
  • 2021-11-18
相关资源
相似解决方案