Spring Boot的測試框架可以選擇隨機端口進行測試,使用'server.port:0'
。 The documentation suggests grabbing the port as a Spring @Value
,但我想用它來設置我的GebConfig.groovy
中的baseUrl
。有沒有辦法從ConfigSlurper中訪問動態端口號?使用Spring Boot中的動態端口配置Geb配置
回答
只需覆蓋在基本規格GebSpec.createConf()
:
@Value("${local.server.port}")
int port
Configuration createConf() {
def configuration = super.createConf()
configuration.baseUrl = "http://localhost:$port"
configuration
}
這不是我想要的那麼幹淨,但它大部分工作。 'createConf'不會被調用'Browser.drive',但它看起來像它可以處理頁面對象。 – chrylis 2015-03-15 03:10:00
爲什麼它不像你想要的那麼幹淨?您無法在GebConfig.groovy中保留它,因爲該值在全局上下文中不可用,但是可注入。爲什麼你會在測試中使用Browser.drive {}?另一個選擇是在setup()中設置一個系統屬性,然後在GebConfig.groovy中讀取它,但是對於我來說它比我的第一個解決方案更不乾淨,因爲您依賴於從setup()方法設置的全局狀態。 – erdi 2015-03-15 08:52:04
不那麼幹淨,因爲我必須擴展基類而不是外化配置。 「GebConfig」腳本的執行上下文可能提供對Spring上下文的訪問,但這需要上游集成,這可能不值得糾結。 (由於某些執行順序問題,靜態持有者模式不起作用。) – chrylis 2015-03-15 18:15:09
- 1. Spring-Boot Tomcat配置
- 2. 使用Spring-boot配置設置Logstash/Logback
- 3. 如何使用application.properties配置spring boot來設置hibernate的配置
- 4. 使用JTDS在Spring Boot中配置HikariCP
- 5. 爲SPA前端配置Spring Boot
- 6. spring-boot OAuth2客戶端配置
- 7. Spring-Boot客戶端認證配置。
- 8. 在Biztalk中配置動態WCF端口
- 9. Ldap查詢 - 使用Spring Boot的配置
- 10. 無法在TomcatConnectorCustomizer中爲Spring Boot配置端口
- 11. Geb配置
- 12. 使用spring-boot-admin配置SMTP
- 13. 使用Spring Boot配置Swagger UI
- 14. 如何使用elasticsearch 5.2.1配置Spring Boot?
- 15. 使用Spring Boot配置Log4j2.properties
- 16. 無法使用Spring Boot配置CommonsMultipartResolver 1.2.8
- 17. Idea + Spring Boot + Tomcat在配置設置爲另一個時啓動端口8080
- 18. Spring Boot - MongoDB - MongoLab配置
- 19. Spring-boot Actuator SSL配置
- 20. Spring Boot:無法配置
- 21. Spring Boot - 遠程Zookeper配置
- 22. SPRING BOOT配置Jasig CAS
- 23. 如何讓Spring Boot根據外部配置配置RabbitMQ配置?
- 24. 使用Spring Security進行Spring Boot Java配置:如何配置使用FilterBasedLdapUserSearch和BindAuthenticator?
- 25. Spring Boot有限自動配置
- 26. 配置grails.serverURL獲取動態端口
- 27. Spring Boot中的彈簧安全配置
- 28. Spring Boot如何在@requestMapping中傳遞配置/動態url?
- 29. 端口配置
- 30. Spring Boot JPA基礎配置優先於應用配置
哪裏是存儲在這個動態的端口號? – Opal 2015-03-13 08:41:18
這個動態端口將只存儲在spring'Environment'中。我從來沒有使用groovy或geb,但它是有道理的,通過http://groovy.codehaus.org/gapi/groovy/util/ConfigSlurper.html#setBinding(java.util.Map )? – sodik 2015-03-13 09:02:42
@sodik沒有明顯的方式從配置腳本中獲取Spring環境或上下文的引用。 – chrylis 2015-03-13 09:32:50