yegor256/phprack

集成测试自动化的轻量级框架

1.1 2014-01-28 10:23 UTC

README

DevOps By Rultor.com

Build Status PDD status Hits-of-Code

php|Architect June 2010 中了解phpRack:"使用phpRack框架进行集成测试"。

phpRack 是一个用于集成测试自动化的轻量级框架。我们所说的集成测试是指那些应在生产环境中运行的软件模块,以验证该环境是否按预期配置。例如,如果你的产品是一个依赖于PHP、Apache、MySQL正确配置以及YouTube、Flickr和GoogleMaps API可用性的web2.0应用程序。你的产品通过单元测试进行了适当的测试(显然,你使用了这些服务和组件的存根)。当产品部署到生产环境时,你希望确保所需的服务都已配置并可用。如果它们不可用,你希望在最终用户之前收到通知,并希望收到详细的通知。

这就是phpRack成为必备工具的原因。你应该将phpRack添加到项目中,并编写一系列测试。所有这些测试都会在请求时执行,并生成详细的报告,既可以在线查看,也可以通过电子邮件发送。它将在部署和维护你的产品时为你节省大量时间。

快速入门

要开始使用phpRack,你应该进行以下三个操作

  • 上传phpRack库到你的服务器
  • 在你的 public_html 目录中创建 phprack.php 文件
  • 在你的 rack-tests 目录中创建PHP集成测试

让我们一步步来做

上传phpRack库

下载 ZIP存档 并将其解压缩到你的生产服务器的 public_html/phpRack 或其他目录。

创建 phprack.php

你应该在项目的公共目录中创建 phprack.php(请参阅完整参考),例如:

<?php
// this param is mandatory, others are optional
$phpRackConfig = array(
    'dir' => '../rack-tests',
);
// absolute path to the bootstrap script on your server
include '../library/phpRack/bootstrap.php';

创建集成测试

在rack-tests目录中编写集成测试,每个测试都必须扩展 PhpRack_Test 类(请参阅完整列表)。例如,文件 MyTest.php

<?php
class MyTest extends phpRack_Test
{
    public function testPhpVersionIsCorrect()
    {
        $this->assert->php->version
            ->atLeast('5.2');
    }
    public function testPhpExtensionsExist()
    {
        $this->assert->php->extensions
            ->isLoaded('xsl')
            ->isLoaded('simplexml')
            ->isLoaded('fileinfo');
    }
}

访问此URL: http://your-website-url/phprack.php 并享受。尝试此链接查看你的网站将显示什么: http://www.phprack.com/phprack.php

如何贡献?

首先,从我们的仓库分叉并克隆到你的本地机器,并安装 Vagrant。然后,运行

vagrant up

在几分钟内,将准备好一个预装了必要组件的虚拟机。登录到它并进入 /vagrant 目录

vagrant ssh

然后,在虚拟机中运行

phing

所有测试都应该通过。如果你看到任何问题,请向我们提交一个新的问题。

在你做出更改后,别忘了再次运行 phing,以确保你没有破坏任何东西。准备好后,提交一个拉取请求。