对许多人来说,十二月是反思或思考的时期。 所以我决定在去年的事情和想法,以反映- 每一天 ,直到圣诞节。 这是第四天

对于Grails集成测试,了解应用程序当前在哪个端口上运行非常有用。

Spring Boot以及因此建立在它上面的Grails都通过一个名为local.server.port的属性公开了启动时随机选择的端口。

当专门针对Grails进行谷歌搜索时,通常会出现在mrhaki的Grails善意:集成测试页面中使用随机服务器端口 -Grails善意的极好来源-该书清楚地显示了如何使用@Value来获取local.server.port属性的值。 。

在我自己的示例中,您可以在下面看到它的运行情况。

import grails.plugins.rest.client.RestBuilder
import grails.plugins.rest.client.RestResponse
import grails.test.mixin.integration.Integration
import org.springframework.beans.factory.annotation.Value
import spock.lang.Specification@Integration
class SomeIntegrationSpec extends Specification {@Value('${local.server.port}')Integer serverPortvoid "health check works"() {when:String url = "http://localhost:${serverPort}/example/health"def response = new RestBuilder().get(url)then:response.status == 200}
}

去年某个时候,我意识到:我根本不需要。

@Integration
class SomeIntegrationSpec extends Specification {// no serverPort!void "health check works"() {when:String url = "http://localhost:${serverPort}/example/health"def response = new RestBuilder().get(url)then:response.status == 200}
}

WAT? 没有serverPort属性-您仍在"http://localhost:${serverPort}/example/health"吗?

Jip,至少在Grails 3.3.0中具有此功能,即使用corrct值初始化的确切属性Integer serverPort ,是通过@Integration批注直接添加到测试类的 -特别是:其AST转换帮助器类。

正如英国小说作家亚瑟·克拉克 ( Arthur C. Clarke)所说:

任何足够高级的注释都无法与魔术区分开。

如此真实。

翻译自: https://www.javacodegeeks.com/2017/12/x-mas-musings-not-use-random-server-port-grails-integration-tests.html

X-Mas Musings –在Grails集成测试中不要使用随机服务器端口相关推荐

  1. ASP.NET Core 集成测试中结合 WebApplicationFactory 使用 SQLite 内存数据库

    SQLite 内存数据库(in-memory database)的连接字符串是  Data Source=:memory: ,它的特点是数据库连接一关闭,数据库就会被删除.而使用  services. ...

  2. ASP.NET Core Web API 集成测试中使用 Bearer Token

    在 ASP.NET Core Web API 集成测试一文中, 我介绍了ASP.NET Core Web API的集成测试. 在那里我使用了测试专用的Startup类, 里面的配置和开发时有一些区别, ...

  3. spock 集成测试_Spock 1.2 –轻松进行集成测试中的Spring Bean模拟

    spock 集成测试 探索如何使用Spock 1.2将Spock的模拟和间谍自动注入到Spring上下文中. Spock中的存根/模拟/间谍(及其生命周期)一直与Spock Specification ...

  4. Spock 1.2 –轻松进行集成测试中的Spring Bean模拟

    探索如何使用Spock 1.2将Spock的模拟和间谍自动注入到Spring上下文中. Spock中的存根/模拟/间谍(及其生命周期)一直与Spock Specification类紧密结合. 只能在测 ...

  5. 模拟耗时操作_在集成测试中模拟耗时的动作

    模拟耗时操作 最近在我的一个项目中,我遇到一种情况,需要为该应用程序创建集成测试. 这不是很奇怪,不是吗? 有趣的是,应用程序的逻辑涉及一些并发问题,并且其中一个组件必须连接到外部服务,这将花费几秒钟 ...

  6. 在集成测试中模拟耗时的动作

    最近在我的一个项目中,我遇到一种情况,需要为该应用程序创建集成测试. 这不是很奇怪,不是吗? 有趣的是,该应用程序的逻辑涉及一些并发问题,并且其中一个组件必须连接到外部服务,这将花费几秒钟的事实. 由 ...

  7. 网络电视视频服务器所放位置,pptv网络电视中多屏互动服务器删除的具体操作步骤...

    很多的用户都在使用pptv网络电视,不过你们知道怎么删除多屏互动服务器吗?下文就是关于pptv网络电视中多屏互动服务器删除的具体操作步骤,希望大家喜欢. pptv网络电视中多屏互动服务器删除的具体操作 ...

  8. C#列出局域网中可用SQL Server服务器(续)

    上一篇文章展示了使用COM对象如何列出局域网中的 SQL Server服务器信息,后来还发现在.Net中有现成的类可用,而不需要使用不太熟悉的COM对象了,这样岂不是更好?下面我把代码展示给大家: u ...

  9. 清除AD中残留的Exchange2003服务器信息

     清除AD中残留的Exchange2003服务器信息 2009-12-04 11:36:25 标签:Exchange 信息 残留 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者 ...

最新文章

  1. 深度盘点:详细介绍机器学习中的7种交叉验证方法!
  2. javaweb 之Ajax
  3. mac qt android开发环境搭建,Mac 下 PyQt5 的开发环境搭建
  4. 大学课程重新学习-操作系统
  5. 【数据分析】年轻人逃离大城市之后的下一站选哪儿?用数据来为你揭晓
  6. ASP.NET Web API 中 特性路由(Attribute Routing) 的重名问题
  7. 【LeetCode - 141142】环形链表(i和ii)(快慢指针,链表)
  8. 专访微软Greg Yang,构建神经网络的底层语言,探索AI的“万物理论”
  9. 做一个中国式站长必须知道的五十个问题
  10. vivo X30新细节曝光:搭载潜望式超远摄支持双模5G
  11. ffmpeg音视频同步原理
  12. Linux用管道移动文件夹,linux常用命令(示例代码)
  13. 模拟Post登陆带验证码的网站
  14. PHP has encountered an Access Violation at
  15. visio流程图总是自动变小_Visio 2010 中新增功能详细介绍
  16. perl脚本的参数输入
  17. Android 9.0 TV版导入GMS组件以及Google Play
  18. k2p php服务器,网件R6800与斐讯K2P之间的mu-mimo测试
  19. k620显卡 unreal_性能究竟能差多少 两代显卡DX12的对决
  20. 遇见未来 | 对话叶毓睿:人类文明运行在软件之上(上篇)

热门文章

  1. Mybatis生成器插件扩展,定制方法生成,list参数生成
  2. Java自动化邮件中发送图表(四)之javafx Chart
  3. SpringCloud配置中心内容加密
  4. Spring Boot整合Thymeleaf模板引擎
  5. Java Excel导出
  6. binarySearch与IndexOf的那些事儿~
  7. 《四世同堂》金句摘抄(五)
  8. 最全三大框架整合(使用映射)——IDeptDao.java
  9. 二分查找(一次查找多个相同的值)
  10. 充电提示音_iPhone如何自定义充电提示音,图文教程