@Configuration
public class RestTemplateProvider {
private static final int DEFAULT_SERVICE_TIMEOUT = 5_000;
@Bean
public RestTemplate restTemplate(){
return new RestTemplate(buildClientConfigurationFactory());
}
private ClientHttpRequestFactory buildClientConfigurationFactory() {
HttpComponentsClientHttpRequestFactory factory = new HttpComponentsClientHttpRequestFactory();
factory.setReadTimeout(DEFAULT_SERVICE_TIMEOUT);
factory.setConnectTimeout(DEFAULT_SERVICE_TIMEOUT);
return factory;
}
}
@RunWith(SpringJUnit4ClassRunner.class)
@SpringApplicationConfiguration(classes = TestConfiguration.class)
@WebAppConfiguration
@ActiveProfiles("it")
public abstract class IntegrationTest {}
@Configuration
@Import({Application.class, MockRestTemplateConfiguration.class})
public class TestConfiguration {}
最后是MockRestTemplateConfiguration
@Configuration
public class MockRestTemplateConfiguration {
@Bean
public RestTemplate restTemplate() {
return Mockito.mock(RestTemplate.class)
}
}
从Spring Boot1.4.x开始,就有了使用@mockbean
注释伪造Spring bean的选项。
对评论的反应:
要将上下文保留在缓存中,不要使用@dirtiescontext
,而是使用@contextconfiguration(name=“ContextTithFakeBean”)
,它将创建单独的上下文,同时将默认上下文保留在缓存中。Spring会在缓存中保留这两个上下文(或者你有多少上下文)。
应用程序类文件: 集成测试:
我有一些集成测试是这样的: 和下面这样的测试: 我希望能够抵消时钟bean在一天的不同时间运行一些测试。我该怎么做? 但那里什么都没发生。我需要@import什么吗?我需要自动连线吗? 谢谢!
我有一个用修饰的类,它应该重写这个: bean用于设置外部文件的路径,该文件包含在启动期间必须读取的注册代码。它用于类中: 在尝试调试时,我在每个方法以及test config类的构造函数中设置了一个断点。的构造函数断点被命中,因此我知道我的测试配置类实例化了,但是该类的方法从未被命中。相反,正常的类的方法被点击,中的总是而不是预期的。 不知道为什么会这样。任何想法都将不胜感激。
英文原文:http://emberjs.com/guides/testing/integration/ 集成测试通常用来测试应用中得重要工作流。集成测试用来模拟用户交互和确认交互结果。 设置 为了对Ember应用进行集成测试,需要在测试框架中运行应用。首先需要将根元素(root element)设置为任意一个已知将存在的元素。如果根元素在测试运行时可见的话,这对测试驱动开发非常有用,带来的帮助非常
我最终做的是在测试设置过程中替换应用程序级图(MockRestAdapter就是在其中创建的
主要内容:集成测试背后的原因,集成测试技术,集成测试方法,集成测试指南集成测试是单元测试后软件测试过程的第二个层次。在此测试中,软件的单元或单个组件在组中进行测试。集成测试级别的重点是在集成组件或单元之间交互时暴露缺陷。 单元测试使用模块进行测试,这些模块在集成测试中进行组合和测试。该软件使用许多软件模块开发,这些软件模块由不同的编码器或程序员编码。集成测试的目标是检查所有模块之间通信的正确性。 集成测试背后的原因 虽然软件应用程序的所有模块已经在单元测试中进行了测