jonpitch/laxative

一个用于简化数据转储的Codeception扩展

v1.0.0 2015-06-20 18:00 UTC

This package is not auto-updated.

Last update: 2024-09-28 18:15:56 UTC


README

这是一个Codeception扩展,可以轻松管理来自Db模块的数据转储文件。

它做什么

Laxative让管理Codeception Db模块的转储文件变得简单。对于数据模型快速变化的团队特别有用。Laxative通过始终从头开始,消除了开发者维护转储文件的需求。Laxative将使用开发者的本地代码库来创建一个全新的数据库进行测试。

最低要求

  • Codeception 1.6.4
  • PHP 5.4

使用Composer安装

$ composer require jonpitch/laxative

确保在下面的配置中启用扩展。

配置

所有启用和配置都在codeception.yml中进行。

启用Laxative

extensions:
    enabled:
        - Codeception\Extension\Laxative
    config:
      Codeception\Extension\Laxative:
        backup: true|false
        backup_path: 'path/to/your/backup/file.backup'
        host: 'database host IP|URL'
        database: 'database-name'
        login: 'database-login'
        migrations: 'your migrate command'
        seed: 'your seed command'

创建一个空数据库

Laxative需要一个一致的开始点。最简单的方法是利用Codeception Db模块为我们完成。

  • 创建一个空数据库
  • 创建一个转储文件,例如:pg_dump -h 192.168.10.10 -d my-database -U my-user
  • 配置Codeception Db模块使用这个空数据库

可用选项

基本

  • backup: {backup}
    • 启用备份和恢复在套件运行前后数据库。
    • 默认:false
  • backup_path: {backup_path}
    • 存储数据库备份的相对路径。
    • 默认:tests/_data/local.backup
  • host: {host}
    • 数据库的位置。
    • 示例:'192.168.1.10'
  • database: {database}
    • 数据库的名称。
  • login: {login}
    • 数据库用户登录。
  • migrations: {migrations}
    • 执行数据库迁移的命令。
    • 示例:'php artisan migrate'
  • seed: {seed}
    • 向数据库填充数据的命令。
    • 示例:'php artisan db:seed'

用法

一旦安装并启用,在启用Db模块的任何套件前后,Laxative将

  • 备份您的本地数据库(如果启用)
  • 使用Codeception Db从空数据库中恢复(见上文)
  • 运行您的迁移命令
  • 运行您的种子命令
  • 重新配置Db模块以使用新的转储文件。

然后您的测试将从全新的数据库正常运行。如果您启用了backup选项,当套件完成后,您的数据库将恢复到测试前的状态。

注意

  • 目前,Laxative仅适用于Postgres。如果您需要其他东西,请提交一个pull request或发送电子邮件给我。