弹簧壳测试

时间:2020-02-22 13:05:51

标签: spring spring-boot

当我将spring shell添加到项目中

    <dependency>
        <groupId>org.springframework.shell</groupId>
        <artifactId>spring-shell-starter</artifactId>
        <version>2.0.1.RELEASE</version>
    </dependency>

测试开始停止,并且永远不会结束。停止后,我会在日志中看到

2020-02-22 20:00:14.271  INFO 9812 --- [           main] o.s.s.c.ThreadPoolTaskScheduler          : Initializing ExecutorService 'taskScheduler'
2020-02-22 20:00:14.933  WARN 9812 --- [           main] org.jline                                : Unable to create a system terminal, creating a dumb terminal (enable debug logging for more information)
2020-02-22 20:00:15.229  INFO 9812 --- [           main] o.s.a.r.c.CachingConnectionFactory       : Attempting to connect to: [192.168.1.10:5672]
2020-02-22 20:00:15.312  INFO 9812 --- [           main] o.s.a.r.c.CachingConnectionFactory       : Created new connection: rabbitConnectionFactory#4c32d208:0/SimpleConnection@608c36a6 [delegate=amqp://admin@192.168.1.10:5672/, localPort= 65404]
2020-02-22 20:00:15.401  INFO 9812 --- [           main] c.umbrella.app.BackendApplicationTests   : Started BackendApplicationTests in 12.969 seconds (JVM running for 14.251)

Process finished with exit code -1
shell:>

当我从IDE和mvn运行测试时,问题再次出现。 如何避免测试出现问题?

1 个答案:

答案 0 :(得分:0)

我找到了解决方案,它需要为每个测试添加下一个属性:

@SpringBootTest(properties = {
    InteractiveShellApplicationRunner.SPRING_SHELL_INTERACTIVE_ENABLED + "=false",
    ScriptShellApplicationRunner.SPRING_SHELL_SCRIPT_ENABLED + "=false"
})