@WebIntegrationTest
@RunWith(SpringJUnit4ClassRunner.class)
@SpringApplicationConfiguration(classes = SpringTestDemoApp.class)
public class SpringTest {
@Test
public void test() {
// Test http://localhost:8080/ (with Selenium)
}
}
使用spring-boot1.3.3.release
时,一切工作都很好。尽管如此,在spring-boot1.5.2.release
中已删除了注释@WebIntegrationTest
和@SpringApplicationConfiguration
。我试图将代码重构为新版本,但我做不到。对于以下测试,我的应用程序在测试之前没有启动,http://localhost:8080返回404:
@RunWith(SpringRunner.class)
@SpringBootTest(classes = SpringTestDemoApp.class)
@WebAppConfiguration
public class SpringTest {
@Test
public void test() {
// The same test than before
}
}
如何重构测试以使其在Spring-Boot1.5中工作?
@springboottest
中的webenvironment
选项非常重要。它可以采用none
、mock
、random_port
、defined_port
等值。
>
none
将只创建spring bean,而不创建任何模拟servlet环境。
mock
将创建spring bean和一个模拟servlet环境。
defined_port
将使用属性中定义的端口并用它启动服务器。
当您没有定义任何webenvironment
时,默认值为random_port
。所以应用程序可能会从不同的端口启动。
尝试将其覆盖为defined_port
,或者尝试自动连接端口号并尝试在该端口上运行测试。
集成测试: 当我偶尔运行这个测试时,一切都很好,但是当我和其他测试一起运行它时,没有使用模拟的ServerThroughRabbitMQ,所以一些spring缓存强制使用旧的rabbit侦听器。 我试图调试它,我可以看到,正确的bean被autowired到测试中,但由于某些原因旧监听器使用(旧bean字段instanceID=1新mocked bean instanceID=3),测试失败(不确
我在SpringBoot中开发微服务。为服务和DAO层编写单元测试。当我使用@SpringBootTest时,它会在构建时启动应用程序。但是当我运行单元测试时,它不应该启动应用程序。我使用了@runwith(Springrunner.class),但无法在junit类中使用@autowired类实例。如何配置不应该启动应用程序的junit测试类,以及如何在junit类中@Autowired类实例。
我的SpringBoot应用程序中有一个控制器: 我想在mocks的帮助下,将其与服务分开进行测试。如何实施?
我的程序编译了所有内容,我没有出错,但我实际上期望tomcat应该永久在端口8080上。输出中也没有Spring。在另一个项目中,我做的一切都很好。谢谢你帮助我。 我的父母: 我的tarter.class: 我的Starter-Pom: 控制台输出: 然后什么都不会发生了。谢谢你的帮助。
我已经为此挣扎了一段时间了。我想使用restAs0007来测试我的SpringBoot REST应用程序。 虽然看起来容器旋转得很好,但请放心(其他任何东西似乎都有问题。 一直以来我都被拒绝连接。 我的测试类: 现在,对于奇怪的部分,传递并打印它应该传递的内容,但是正在获得连接拒绝异常。 知道这个装置有什么问题吗?
我有一个应用类 我有控制器课 并且,我想为Application test编写一个测试用例,以确保创建的实例类型为HelloController 但是,我在自动连接 hello控制器变量时遇到错误(找不到 hello 控制器类型的 bean)。根据我的理解,@SpringBootTest应该创建上下文并返回一个实例。我们不需要编写任何上下文 xml 或使用任何注释Config 类来获取实例。缺少了