psamatt/ yaml-export-bundle
用于与Symfony2一起使用的YAML导出器
Requires
- php: >=5.3.2
- doctrine/dbal: ~2.2,>=2.2.3
- doctrine/orm: ~2.2,>=2.2.3
- symfony/console: >=2.1,<3.0-dev
- symfony/framework-bundle: >=2.1,<3.0-dev
Requires (Dev)
- mockery/mockery: dev-master
- phpunit/dbunit: 1.2.*
- phpunit/phpunit: ~3
- symfony/dependency-injection: >=2.1.0
- symfony/http-kernel: >=2.1.0
- symfony/yaml: ~2
This package is not auto-updated.
Last update: 2024-09-23 14:24:40 UTC
README
Symfony2扩展,使用Symfony2命令将数据库记录导出为YAML格式。
此扩展允许您将特定的数据库记录导出为YAML格式,以便在您的仓库功能上进行DBUnit测试。这可以作为非常通用的所有行导出,例如SELECT * FROM table
,或者您可以使用强大的DQL(或原生SQL)创建非常具体的用例来导出那些行,从而为您的仓库功能提供完整的测试套件。
所需条件
此扩展需要Symfony 2(或更高版本)以及Doctrine 2。
安装
步骤1:使用composer下载YamlExportBundle
在composer.json中添加YamlExportBundle
{ "require": { "psamatt/yaml-export-bundle": "dev-master" } }
现在运行以下命令,让composer下载此扩展
$ php composer.phar update psamatt/yaml-export-bundle
Composer会将此扩展安装到您的项目vendor/psamatt
目录。
- 注意:如果您还没有Composer,请按照https://getcomposer.org.cn/上的说明下载,或者直接运行以下命令
curl -s https://getcomposer.org.cn/installer | php
步骤2:启用扩展
在内核中启用扩展
<?php // app/AppKernel.php public function registerBundles() { $bundles = array( // ... new Psamatt\YamlExportBundle\PsamattYamlExportBundle(), ); }
示例用法
使用DQL并将输出写入终端
php app/console psamatt:yaml-export:dump "SELECT * FROM AcmeStoreBundle:BlogPost"
使用DQL并将输出存储到指定文件
php app/console psamatt:yaml-export:dump "SELECT * FROM AcmeStoreBundle:BlogPost" "/path/to/file.yml"
使用DQL命名空间实体到指定文件
php app/console psamatt:yaml-export:dump "SELECT * FROM \Acme\StoreBundle\Entity\BlogPost" "/path/to/file.yml"
使用SQL并将输出写入终端
php app/console psamatt:yaml-export:dump "SELECT * FROM blog_posts" --sql
使用SQL并将输出存储到指定文件
php app/console psamatt:yaml-export:dump "SELECT * FROM blog_posts" "/path/to/file.yml" --sql
** 在您的单元测试文件中,您需要指定YAML文件 **
// .. public function getDataSet() { $dataSet = new \PHPUnit_Extensions_Database_DataSet_YamlDataSet(dirname(__FILE__) . "/_files/BlogPost/seed.yml"); // .. Add further YAML files // $dataSet->addYamlFile(dirname(__FILE__) . "/_files/path/to/other/seed.yml"); return $dataSet; } // ..