是否可以使用Junit5mockito为可重试的注解编写单元测试?
我有一个只有一个方法的服务接口,该方法从远程url下载文件
@service
interface downloadpdf{
@Retryable(value = { FileNotFoundException.class, HttpClientErrorException.class }, maxAttempts = 5, backoff = @Backoff(delay = 1000))
public string downloadpdffile(string remoteurl, string pdfname);
}
我试过引用站点,发现使用Spring4JunitRunner实现来测试重试。对实现感到困惑。是否可以使用Junit 5 mockito为可重试的注解编写单元测试?您能否在此处详细说明解决方案?
2条答案
按热度按时间yx2lnoni1#
您需要使用
@SpringJUnitConfig
(相当于JUnit4 runner),或者使用启动时使用@SpringBootTest
。@Retryable
只适用于Spring管理的bean--它将bean Package 在代理中。eni9jsuy2#
我也尝试过使用Junit5来实现这一点。
尝试了各种选项,但没有帮助。然后在谷歌上搜索了几个小时后,得到了以下链接,它帮助成功。
https://doctorjw.wordpress.com/2022/04/29/spring-testing-a-single-bean-in-junit-5-springextension/
参考代码如下,详细解释请参考博客.
我发现,如果我这样声明测试类:
您会注意到其中包含了另外一个类TestingUtils.class。
所有的学分归博客的作者。