linkorb/transmogrifier

该软件包最新版本(v1.1.0)没有提供许可信息。

测试用例库和命令行工具

v1.1.0 2015-03-02 07:39 UTC

This package is auto-updated.

Last update: 2024-08-29 03:37:33 UTC


README

Transmogrifier 是一个帮助在运行测试前设置数据库测试用例的工具。

你可以用以下方式使用它

  1. 作为一个简单的命令行工具(非常适合构建脚本和持续集成)
  2. 作为一个 PHP 库
  3. 作为一个 Behat 扩展,允许使用 Gherkin 语句进行自动化的 BDD 数据库测试

1. 命令行工具

你可以将 Transmogrifier 作为命令行工具使用(独立使用,或者通过 composer 作为你 PHP 项目的部分)。

独立使用

  1. 克隆此 git 仓库
  2. 运行 composer install 以安装所有依赖
  3. 运行 bin/transmogrifier --help 以查看可用命令列表

通过 composer 在你的 PHP 项目中

打开你的 composer.json 文件,并在 require 部分添加以下内容

"linkorb/transmogrifier": "dev-master"

你现在可以运行 vendor/bin/transmogrifier

将 transmogrifier 命令添加到现有的 Symfony/Console 应用程序中

将以下行添加到现有的 Symfony/Console 应用程序中,以启用 Transmogrifier 命令

$application->add(new \LinkORB\Transmogrifier\Command\DatasetApplyCommand());

可用命令

transmogrifier:datasetapply

通过命令行使用最有趣的是 transmogrifier:applydataset 命令。

你可以这样使用它

bin/transmogrifier transmogrifier:applydataset --dbname=test example/user.yml

此命令将确保 dbname 数据库包含在 example/user.yml 中指定的数据集

2. PHP 库

你可以非常容易地从你的 PHP 项目中使用 Transmogrifier 作为库。

通过 composer 安装库

打开你的 composer.json 文件,并在 require 部分添加以下内容

"linkorb/transmogrifier": "dev-master"

如何使用库

2 个主要类是

  • Dataset:一个可以从文件加载数据集并将它们应用于数据库的类。
  • Database:与数据库的连接,提供初始化连接的帮助器。

以下是一个示例用法

$db = new Database();
// Optionally initialize db parameters by file, cli options, or explicit values
$db->parseConf('/path/to/my/dbconf/test.conf');
$db->connect();

$dataset = new Dataset();
$dataset->loadDatasetFile('/path/to/my/dataset.yml');
$dataset->applyTo($db);

3. Behat 扩展

Behat 有一个可用的 Transmogrifier 扩展!

这允许你直接从你的 Behat .feature 文件中使用 Transmogrifier。

查看扩展及其文档在这里

支持的文件格式

数据集导入器基于 phpunit/dbunit。它目前支持以下文件格式

  • YAML
  • 平面 XML
  • XML
  • CSV

数据集加载器根据文件扩展名猜测格式。

请参考 example/ 目录中的这些格式的数据集。PHPUnit 文档包含有关加载器的更多信息

数据库 .conf 文件

为了简化连接到你的数据库,Transmogrify 可以从简单的 .conf 文件中加载连接设置。

一个示例文件如下

name=test
server=127.0.0.1
username=susie
password=mrbun
driver=mysql

你可以在所有 Transmogrifier 模式中使用这些 .conf 文件:命令行、Behat 或库。连接是通过 PDO 建立的,所以所有支持 PDO 的数据库都将工作。

示例数据集

examples/ 目录包含一些你可以用来尝试 Transmogrifier 的数据集,了解它是如何工作的,并作为你自己的数据集的起点。

创建模式

示例将确保 2 个用户,'Calvin' 和 'Hobbes',注册在你的 user 表中。

在尝试这些之前,请使用以下 SQL 在你的 test 数据库中生成 user

CREATE TABLE user (id int, name varchar(16), email varchar(32), password varchar(32));

由 LinkORB 工程团队提供


查看我们其他项目,请访问 linkorb.com/engineering

顺便说一句,我们在招聘!