你的networking应用程序或网站有健康检查吗?
过去,我已经为几个项目构build了基于PHP的“健康检查”脚本,但是它们总是为这个场合定制的,而不是作为独立产品的抽象。 我想知道这样的解决scheme是否存在。
我所说的“健康检查”是一个受保护的网页,其function非常类似于一套unit testing,但在更多的操作层面上,显示红/黄/绿等状态
- caching目录是否可写?
- PHP版本是否正确,是否需要安装扩展?
- 数据库服务器是否可达?
- 数据库中是否存在必要的表格?
- 有足够的磁盘空间可用吗?
- 该网站的首页是否可以访问并完全呈现(=没有PHP错误)?
- 该项目的图书馆的MD5校验和是否与原来的相匹配?
- 首页的输出是否通过了W3Cvalidation器?
你是否在应用程序和网站上这样做 – 或者其中的一部分?
是否有任何标准化的工具,带来所有的function来执行testing(理想的插件),只需要相应的configuration?
我正在谈论的是一个轻量级的解决scheme,即使在最小的基于PHP的Web包中也可以运行,没有扩展和服务器访问。
有没有,也许,有一种方法来设置这个使用unit testing框架可用于PHP(最好是PHPUnit)之一? 如果是这样,你知道任何资源/教程概述如何?
更新:似乎没有一个stream行的现成解决scheme,否则,有100多个意见,我相信会有一些提及它。 看到build立这样的工具作为一个开源项目有一些初步的兴趣,请随时发布一个理想的解决scheme,你会看起来像什么,它将具有什么function。
有趣的问题,但这是相当广泛的。 我还没有看到一个unit testing工具,它一次完成所有的后端,中间和前端testing。 我查了这个清单 ,但是没有人做这一切。 然而,有一个通用的方法, xUnit (全自动testing)。
主要的阻碍者是后端testing是平台/数据库特定的,中间testing是特定于编程语言的。 然后将这些限制与前端testing结合起来。 那么这个工具就必须支持世界上几乎所有的语言和平台。 我不认为这样的工具可以在开源世界中获得。 这是一个乌托邦。
从理论上讲,确实有可能build立一个具有插件function的testing框架,可能是基于xUnit思想,但还没有写出/发明/开放它。 您? 这确实是市场上的一个漏洞。
无论如何,对于前端unit testing(HTML / CSS / JS /表单),我会推荐Selenium ,或者如果你有钱, TestComplete 。 几年前我看到它在IBM被使用过,看到它在行动中是非常棒的,testing人员对此非常满意。
对于中间unit testing(编程代码,业务逻辑),只需继续编程语言特定的unit testing工具,如PHPUnit for PHP和JUnit for Java。
关于后端unit testing(DB,文件系统),我已经使用了PGTap for PostgreSQL,但也有一些通用的数据库工具,比如SQLUnit (最近更新了几乎4年前)。 对于本地磁盘文件系统的条件,你将不得不抓住平台特定的脚本语言。
看看Nagios 。 它可以configuration为轮询URL和扫描string的存在/不存在,寻找特定的响应代码,以及相当多的其他东西。 如果您在url中公开要查找的内容,Nagios可以完成剩下的工作。
@Franz Nagios支持花钱,但核心监控软件是免费的。 这是有点Redhat模型。
你可以用CruiseControl和phpUnderControl做所有这些。 但是,当然,你需要指定所有你想要执行的任务,以便你的项目通过所有的检查。
http://topecoders.blogspot.com/2010/04/how-to-install-cruisecontrol.html
通过CruiseControl,您可以为项目的每个版本添加多个任务。