集成测试PHPUnit和Phinx

矮人奶酪

我正在创建一个PHP REST api,使用PHPUnit进行单元测试和集成测试。我正在寻求集成phinx进行数据库迁移(而不是自己构建迁移代码)。

我实际上有两个问题:

  • 如何使用Phinx进行数据库设置?Phinx通常用作命令行工具,但是我需要某种方式从单元测试类的setup方法中调用。

  • 我将如何集成测试我编写的Migration类?我想进行某种验证,以确保在每个迁移步骤之后我的数据库都处于预期状态(也许包括一些在每次迁移期间都应保持一致的示例数据)

杰德·林奇

这是一个解决方案。

<?php
use Phinx\Console\PhinxApplication;
use Symfony\Component\Console\Input\StringInput;
use Symfony\Component\Console\Output\NullOutput;
use Phinx\Wrapper\TextWrapper;

class ExampleTest extends TestCase
{

private static $T;

public function setUp(){
    $app = new PhinxApplication();
    $app->setAutoExit(false);
    $app->run(new StringInput(' '), new NullOutput());

    self::$T = new TextWrapper($app);
    self::$T->getMigrate("testing");
}

public function tearDown(){
    self::$T->getRollback("testing");
}

?>

简短而甜美。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

与phpunit集成测试:如何提示用户输入?

来自分类Dev

PHPUnit和测试CRUD方法

来自分类Dev

SBT / Scala和集成测试

来自分类Dev

测试JMS和Spring集成

来自分类Dev

与Laika和PhantomJS的集成测试

来自分类Dev

RabbitMQ集成测试和线程

来自分类Dev

测试和持续集成

来自分类Dev

单元测试和集成测试的分离

来自分类Dev

单元测试和集成测试

来自分类Dev

PHPUnit安装和拆卸测试用例

来自分类Dev

使用PHPUnit和Selenium设置测试

来自分类Dev

IntelliJ中的运行单元和集成测试

来自分类Dev

与Maven,Protractor和Selenium WebDriver的集成测试

来自分类Dev

集成测试:最佳,水豚和RSpec

来自分类Dev

与Spring Boot和Spock的集成测试

来自分类Dev

与EJB,JPA和DBUnit的集成测试

来自分类Dev

使用Couchbase进行单元和集成测试

来自分类Dev

放弃DI并使用BDD和集成测试

来自分类Dev

声纳和詹金斯-集成测试

来自分类Dev

文档-自动测试和与GitHub集成

来自分类Dev

Spring OAuth和启动集成测试

来自分类Dev

Spock和Spring Boot集成测试

来自分类Dev

Spring oauth2 和集成测试

来自分类Dev

集成测试,单元测试和代码覆盖率

来自分类Dev

Maven单独的单元测试和集成测试

来自分类Dev

如何对SSIS包进行单元测试和集成测试?

来自分类Dev

处理单元测试和集成测试之间的重复

来自分类Dev

最小测试:集成测试,模板模式和NotImplementedError

来自分类Dev

为什么在Zend Framework控制器上的PhpUnit集成测试中未达到“ preDispatch”?