如何以较少的配置加速单元测试

时间:2015-07-17 03:17:25

标签: spring-boot jhipster

jhipster的单元测试模板很棒,但有时候,特别是在编码过程中,我需要编写单元测试代码并经常运行。但现在单元测试将启动tomcat容器和许多其他模块,如果我想测试服务功能,我不需要。

现在测试类是这样的:

@RunWith(SpringJUnit4ClassRunner.class)
@SpringApplicationConfiguration(classes = Application.class)
@WebAppConfiguration
@IntegrationTest
@Transactional
public class SomeClassTest {
    .....

如何将其修改为仅初始化弹簧容器和DB?感谢。

2 个答案:

答案 0 :(得分:2)

如果您不需要服务器,请不要让您的测试成为集成测试。如果你删除@WebAppConfiguration@IntegrationTest spring boot将启动一个常规(即非web上下文)并且不会启动Tomcat。

如果您需要更进一步,可以通过application-test.properties + @ActiveProfiles("test")禁用某些功能,以通过配置或使用exclude @SpringBootApplication参数禁用内容(或@EnableAutoConfiguration)正如卢卡斯所说的那样。

答案 1 :(得分:0)

看一下这个问题How to exclude *AutoConfiguration classes in Spring Boot JUnit tests?,看看这对你有帮助。我们的想法是明确排除您在测试中不需要的自动配置,因此在您的情况下,它可能是EmbeddedServletContainerAutoConfiguration