我过去为几个项目构建了基于PHP的“运行状况检查”脚本,但它们总是为场合定制,而不是作为独立产品进行抽象编写。我想知道这种解决方案是否存在。
“健康检查”是指受保护的网页,其功能与单元测试相似,但在更具操作性的层面上,显示红色/黄色/绿色状态,如
您是否在应用程序和网站中执行此操作或部分操作?
是否有任何标准化工具可以带来执行测试的所有功能(理想情况下是插件),只需要相应配置?
我说的是一个轻量级的解决方案,即使在最小的基于PHP的Web包上也可以运行,没有扩展和服务器访问。
是否有可能使用可用于PHP的单元测试框架(最好是PHPUnit)来设置它?如果是这样,您是否知道任何资源/教程概述如何?
更新:似乎没有一个流行的现成解决方案,否则,有超过100个视图,我相信会有一些提及它。由于最初对构建开源项目这样的工具感兴趣,请随时发布一个理想的解决方案,以及它必须具备的功能。
答案 0 :(得分:3)
有趣的问题,但这是相当广泛的。我还没有看到一个单元测试工具,它可以立即执行所有后端,中端和前端测试。我检查了this list,但没有人做到这一切。然而,有一种通用方法,xUnit(全自动测试)。
主要阻碍者是后端测试是特定于平台/数据库的,并且中端测试是特定于编程语言的。然后将这些限制与前端测试结合起来。然后,该工具必须支持世界所知的几乎所有语言和平台。我不认为这种工具在开源世界中是可用的。这是一个乌托邦。
从理论上讲,确实有可能拥有一个带有插件功能的测试框架,可能基于xUnit的意识形态,但是还没有编写/发明/开源它。您?这确实是市场上的一个漏洞。
无论如何,对于前端单元测试(HTML / CSS / JS /表格),我建议Selenium,或者如果你有钱,TestComplete。我已经看到它在几年前在IBM上使用过,看到它在行动中非常棒,测试人员对此非常满意。
对于中端单元测试(编程代码,业务逻辑),继续使用特定于编程语言的单元测试工具,如PHP的PHPUnit和Java的JUnit。
关于后端单元测试(DB,文件系统),我已经将PGTap用于PostgreSQL,但也有一些通用的数据库工具,例如SQLUnit(但最近更新了近4个)多年前......)对于本地磁盘文件系统条件,您必须获取特定于平台的脚本语言。
答案 1 :(得分:0)
结帐Nagios。它可以配置为轮询URL并扫描字符串的存在/不存在,查找某些响应代码以及相当多的其他内容。如果您在URL中公开要查找的内容,Nagios可以完成剩下的工作。
@Franz Nagios支持费用,但核心监控软件是免费的。这有点像Redhat模型。答案 2 :(得分:0)
您可以使用CruiseControl和phpUnderControl完成所有这些操作。但是,当然,您需要指定要执行的所有任务,以便项目通过所有检查。
http://topecoders.blogspot.com/2010/04/how-to-install-cruisecontrol.html
使用CruiseControl,您可以为项目的每个构建添加多个要执行的任务。