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. 如何使用application.properties配置spring boot來設置hibernate的配置
- 3. 使用JTDS在Spring Boot中配置HikariCP
- 4. 在Biztalk中配置動態WCF端口
- 5. 爲SPA前端配置Spring Boot
- 6. Geb配置
- 7. Ldap查詢 - 使用Spring Boot的配置
- 8. 無法在TomcatConnectorCustomizer中爲Spring Boot配置端口
- 9. Idea + Spring Boot + Tomcat在配置設置爲另一個時啓動端口8080
- 10. 無法使用Spring Boot配置CommonsMultipartResolver 1.2.8
- 11. 使用spring-boot-admin配置SMTP
- 12. 使用Spring Boot配置Swagger UI
- 13. 如何使用elasticsearch 5.2.1配置Spring Boot?
- 14. 使用Spring Boot配置Log4j2.properties
- 15. Spring Boot - MongoDB - MongoLab配置
- 16. Spring Boot - 遠程Zookeper配置
- 17. SPRING BOOT配置Jasig CAS
- 18. 如何讓Spring Boot根據外部配置配置RabbitMQ配置?
- 19. 使用Spring Security進行Spring Boot Java配置:如何配置使用FilterBasedLdapUserSearch和BindAuthenticator?
- 20. Spring Boot有限自動配置
- 21. 配置grails.serverURL獲取動態端口
- 22. 在spring boot @activeprofile註釋中配置maven配置文件
- 23. Spring Boot配置類未調用
- 24. 如何在spring boot 1.4.1中配置querydsl?
- 25. 在Java中配置OAuth 2 Spring Boot
- 26. 在Spring Boot中配置bean RestTemplate
- 27. 從Spring Boot配置中獲取列表
- 28. Spring Boot在環境中設置活動配置文件
- 29. Spring Boot - 如何爲每個配置文件配置不同的日誌配置?
- 30. 配置Spring Boot的安全性
哪裏是存儲在這個動態的端口號? – 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