小编Jon*_*han的帖子

弹簧重试单元测试

我在maven项目中使用spring retry(http://docs.spring.io/spring-retry/docs/1.1.2.RELEASE/apidocs/),我有以下单元测试

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration
public class RetriableFileManagerTest {

    @Autowired
    @Qualifier("asset")
    private AssetResource assetResource;

    @Test
    public void testRetry() throws URISyntaxException {
        byte[] image = this.assetResource.fetchResource("name", "path");
        verify(assetResource, times(3)).fetchResource("name", "path");
        Assert.assertEquals("should be equal", "image", new String(image));
    }

    @Configuration
    @EnableRetry
    public static class SpringConfig {
        @Bean(name = "asset")
        public AssetResource assetResource() throws Exception {
            AssetResource remoteService = mock(AssetResource.class);
            when(remoteService.fetchResource(anyString(), anyString()))
                    .thenThrow(new RuntimeException("Remote Exception 1"))
                    .thenThrow(new RuntimeException("Remote Exception 2"))
                    .thenReturn("Completed".getBytes());
            return remoteService;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试运行测试时,它失败了

    Caused by: org.springframework.beans.factory.BeanCreationException: Could not autowire …
Run Code Online (Sandbox Code Playgroud)

spring junit4

6
推荐指数
1
解决办法
5526
查看次数

标签 统计

junit4 ×1

spring ×1