我正在尝试从Mockito版本1.0.19升级到4.0.0并使用Junit 5,因为我无法在旧版本的Mockito中模拟静态。我收到“无法发布模拟”错误。
请让我知道,什么都需要注意,而迁移.
public class RefreshTableSchedulerTest {
@Mock
ConfigRepository configRepository;
@InjectMocks
RandomScheduler randomScheduler;
@BeforeEach
public void setUp() throws Exception {
MockitoAnnotations.initMocks(this);
setReflectionUtils(randomScheduler);
}
@Test
public void testRefreshTableWithOutDelay() {
// our trestcases
}
随机调度程序
@Configuration
@EnableScheduling
public class RandomScheduler {
@Scheduled(fixedDelayString = "${schedule.refresh.table.job.in.ms:1800000}")
public void execute() {
//fetch data from table A
//inserts data to Table B using timestamps got from Table A
//updates timestamp of Table A
}
2条答案
按热度按时间sy5wg1nm1#
如果您尝试使用mockito模拟静态类,则首先需要以下依赖项。如果您尝试在没有此依赖项的情况下模拟静态类,则会引发该错误
然后使用
还要确保您在pom中使用的依赖项是否正确
vc6uscn92#
Failed to Release mocks
可能会在您的依赖项不一致时发生。由于您使用的是Spring Boot,请确保不要迁移主要的Mockito版本,而是使用spring-boot-starter-test
和正确版本的Spring Boot父项,这将带来一组一致的依赖项,包括Mockito。