ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

java-验证属性或配置的单元/集成测试

2019-10-26 20:03:50  阅读:285  来源: 互联网

标签:spring-boot testing yaml integration-testing java


编写任何用于验证属性或配置的单元/集成测试是否有意义,因为任何中等或高度复杂的应用程序都包含许多配置(通过YAML或属性文件)?

即使这些配置被基础库或框架使用,它们中的许多配置也会派生运行时行为.在运行时验证配置是否正确使用是一个明智的主意吗?

一个赞成理由是,由于没有编译器安全性,因此我们需要以某种方式验证配置是否正确指示了行为.

争论的焦点是,我们是否正在验证底层框架的实现?

仅测试配置文件可能还不够,因为它不能保证配置是否在运行时正确使用(可能存在错别字或其他类似错误).

解决方法:

否.单元测试将告诉您测试工具中有哪些有效的工具,并且应该与生产中的工具有所不同.

当您说要验证配置时,您碰到了头.测试和验证是完全不同的两件事.如果您有办法验证生产环境中的运行时配置,它也将帮助您诊断运行时行为异常.

有很多方法可以验证运行时配置.最简单,最好的方法是记录日志(例如“ 2016-09-24 10:13:00连接到http://my-configured-server.example.com以获取用户令牌”).不要只是将配置转储到日志文件中(这不是端到端验证),而是将配置详细信息添加到日志消息中.

配置问题通常是全有或全无.如果您配置不正确,则什么也不会发生,也不知道为什么. (对于函数式编程尤其如此.)日志记录不仅可以告诉您配置是什么,而且可以告诉您配置在什么时候失败.

还有其他一些巧妙的方法可以将配置详细信息散布到运行时中.例如,将详细的运行时详细信息附加到错误消息,尤其是电子邮件比日志更多的地方.或将鼠标悬停在UI元素上的调试模式可以告诉您有关该元素的类和其他事实.

集成测试(组件连接在一起时可以正常工作)和冒烟测试(某些完整的配置可以正确执行某些操作)可能很重要-如果您不进行手动测试进行部署,我会说这是必要的-但它们不能替代运行时验证.

标签:spring-boot,testing,yaml,integration-testing,java
来源: https://codeday.me/bug/20191026/1938884.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有