首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >弹簧引导integrationTest网络配置

弹簧引导integrationTest网络配置
EN

Stack Overflow用户
提问于 2015-12-29 10:59:16
回答 1查看 2.1K关注 0票数 2

尝试实现httpClient的集成测试。HttpClient可以使用存根rest控制器服务为“其他网站”发送数据。

配置如下:

代码语言:javascript
运行
AI代码解释
复制
@RunWith(SpringJUnit4ClassRunner.class)
@SpringApplicationConfiguration(classes = {
     SpringMvcApplicationConfiguration.class
    , StorageConfiguration.class
    ,})
@WebIntegrationTest({"server.port=8080", "management.port=0"})
@Transactional
public class HttpSendHelperTest {
  private final static Logger LOGGER =     LoggerFactory.getLogger(HttpSendHelperTest.class);

  @Inject
  private HttpSendHelper httpSendHelper;
  @Inject
  private RequestMappingHandlerMapping mapping;}

测试将正确地加载所有配置好的竞赛。检查mapping.getHandlerMethods() -地图中的所有uris。

将测试请求发送到默认的url - response状态是200,但是发送给其他人(从映射的uris尝试一些)-响应状态是404。

代码语言:javascript
运行
AI代码解释
复制
RestTemplate restTemplate = new TestRestTemplate();


restTemplate.postForEntity("http://localhost:8080/",
    StubBuilder.getInspection(), String.class)

responseEntity = restTemplate.postForEntity("http://localhost:8080/stub/send",
    StubBuilder.getInspection(), String.class);

请建议如何解决这个问题。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-01-04 02:08:23

解决方案

它需要以正确的方式配置springBoot。

代码语言:javascript
运行
AI代码解释
复制
@RunWith(SpringJUnit4ClassRunner.class)
@WebIntegrationTest({"server.port=8080", "management.port=0"})
@Transactional
@SpringApplicationConfiguration(classes = SpringBootApplicationForTest.class)
public class HttpSendHelperTest {

添加SpringBootApplicationForTest.class

代码语言:javascript
运行
AI代码解释
复制
@EnableConfigurationProperties(value =
                                   {
                                       StorageConfiguration.class
                                   }
)
@EnableAutoConfiguration(exclude = {
    DataSourceAutoConfiguration.class
    , VelocityAutoConfiguration.class
})
@EntityScan(basePackages = {
    "my.entities.path"
})
@SpringBootApplication
public class SpringBootApplicationForTest {
  public static void main(String[] args) {
    SpringApplication.run(SpringBootApplicationForTest.class, args);
  }

}

非常感谢Petri (有帮助的建议).

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34517290

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档