Java RestClientTest和NoSuchBeanDefinitionException
我正在尝试使用Java RestClientTest和NoSuchBeanDefinitionException,java,spring-boot,junit,spring-boot-configuration,Java,Spring Boot,Junit,Spring Boot Configuration,我正在尝试使用@RestClientTest测试rest客户机类 据称: 它将仅应用与rest客户端测试相关的配置 (Jackson或GSON自动配置和@JsonComponent bean),但是 不是普通的@Component bean 因此,正如预期的那样,我得到了一些错误,例如:NoSuchBeanDefinitionException,这些bean确实不受关注 有没有办法跳过这些错误?或者我要为这个特定的测试类或其他什么配置上下文 提前谢谢。我找到了解决办法 因为我们不能将@RestC
@RestClientTest
测试rest客户机类
据称:
它将仅应用与rest客户端测试相关的配置
(Jackson或GSON自动配置和@JsonComponent bean),但是
不是普通的@Component bean
因此,正如预期的那样,我得到了一些错误,例如:NoSuchBeanDefinitionException
,这些bean确实不受关注
有没有办法跳过这些错误?或者我要为这个特定的测试类或其他什么配置上下文
提前谢谢。我找到了解决办法
因为我们不能将@RestClientTest与@SpringBootTest一起使用,所以请坚持使用通常的@SpringBootTest,并按如下方式使用测试实用程序类:
@RunWith(SpringRunner.class)
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
public class JasperClientTest {
@Value("${jasper.baseUri}")
private String jasperBaseURI;
@Autowired
RestTemplate restTemplate;
@Autowired
private JasperClient jasperClient;
private MockRestServiceServer mockRestServiceServer;
@Before
public void setUp() {
mockRestServiceServer = MockRestServiceServer.createServer(restTemplate);
}
@Test
public void sendRequest() {
String detailsString ="{message : 'under construction'}";
String externalId = "89610185002142494052";
String uri = jasperBaseURI + "/devices/" + externalId + "/smsMessages";
mockRestServiceServer.expect(requestTo(uri)).andExpect(method(POST))
.andRespond(withSuccess(detailsString, MediaType.APPLICATION_JSON));
boolean isSentSuccessfully = jasperClient.sendRequest(externalId);
assertTrue(isSentSuccessfully);
}
}
@RunWith(SpringRunner.class)
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
public class JasperClientTest {
@Value("${jasper.baseUri}")
private String jasperBaseURI;
@Autowired
RestTemplate restTemplate;
@Autowired
private JasperClient jasperClient;
private MockRestServiceServer mockRestServiceServer;
@Before
public void setUp() {
mockRestServiceServer = MockRestServiceServer.createServer(restTemplate);
}
@Test
public void sendRequest() {
String detailsString ="{message : 'under construction'}";
String externalId = "89610185002142494052";
String uri = jasperBaseURI + "/devices/" + externalId + "/smsMessages";
mockRestServiceServer.expect(requestTo(uri)).andExpect(method(POST))
.andRespond(withSuccess(detailsString, MediaType.APPLICATION_JSON));
boolean isSentSuccessfully = jasperClient.sendRequest(externalId);
assertTrue(isSentSuccessfully);
}
}