java - Spring boot集成测试web配置

标签 java spring testing spring-boot configuration

尝试为 httpClient 实现集成测试。 HttpClient 可以使用 stub 剩余 Controller 服务向“其他网络”发送数据。

配置为:

@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;
…
}

测试开始正确加载我配置的所有比赛。 检查 ma​​pping.getHandlerMethods() - map 中存在的所有 uri。

正在向默认 url 发送测试请求 - 响应状态为 200, 但发送给其他人(尝试从映射的 uri 中尝试一些)- 响应状态为 404。

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);

请建议如何解决该问题。

最佳答案

解决方案

需要正确配置springBoot。

@RunWith(SpringJUnit4ClassRunner.class)
@WebIntegrationTest({"server.port=8080", "management.port=0"})
@Transactional
@SpringApplicationConfiguration(classes = SpringBootApplicationForTest.class)
public class HttpSendHelperTest {

添加SpringBootApplicationForTest.class

@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 Kainulainen(有用的建议)。

关于java - Spring boot集成测试web配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34517290/

相关文章:

java - Spring 4 和 Hibernate 5 方法参数验证

spring - 构建期间 jUnit 中出现多个嵌入式 HSQLDB 数据库错误

java - 如何测试控制台输出代码?

java - Maven:从执行元素获取目标配置

java - 如何解决数字格式异常?

java - 如何使用xml配置升级到spring-integration-kafka 2.1.0.RELEASE?

testing - 测试 node.js 应用程序时 stub 功能的最佳设置是什么?

c++ - TeamCity 中的 Qt 测试输出

java - 如何从可运行的 jar 访问和读取 .txt 文件

java - 无法在 Intellij 中运行程序