gpt4 book ai didi

grails - 如何获取运行 Grails 3.1.9 集成测试的 Url?

转载 作者:行者123 更新时间:2023-12-02 06:22:44 25 4
gpt4 key购买 nike

来自 Grails 3.1.9 发行说明:

Integration Test Port Integration and functional tests now run on a random port instead of the same port as the application by default. This is to avoid port conflict problems when the application is already running. Integration tests that hard code the port will need to be altered to use the serverPort property of tests marked with @Integration

我通常使用以下方式获取集成测试 url

导入 grails.util.Holders
...
..

def urlWhereIntegrationAppIsRunning = Holders.grailsApplication.config.grails.serverURL

然后在我的application.yml我有类似的东西:


测试:
服务器:
端口:8090
chalice :
服务器网址:http://localhost:8090

如何获取在集成测试中使用 Grails 3.19 运行集成测试的 Url(服务器 URL 和随机端口)?

解决方案

根据 Marco 的回答,我做了一个 Trait 来封装集成测试运行的 url。我在 Spock 的规范中实现了这个特性,并在其中测试了我的 API。

import org.springframework.beans.factory.annotation.Value

trait TIntegrationServerUrl {

@Value('${local.server.port}')
Integer serverPort

String integrationServerUrl() {
"http://localhost:$serverPort"
}
}

最佳答案

您可以在集成测试中使用以下内容。

@Value('${local.server.port}')
Integer port

这将为您提供测试中的端口

关于grails - 如何获取运行 Grails 3.1.9 集成测试的 Url?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38252059/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com