jhipster的单元测试模板很棒,但有时候,特别是在编码过程中,我需要编写单元测试代码并经常运行。但现在单元测试将启动tomcat容器和许多其他模块,如果我想测试服务功能,我不需要。
现在测试类是这样的:
@RunWith(SpringJUnit4ClassRunner.class)
@SpringApplicationConfiguration(classes = Application.class)
@WebAppConfiguration
@IntegrationTest
@Transactional
public class SomeClassTest {
.....
如何将其修改为仅初始化弹簧容器和DB?感谢。
答案 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