加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

集成测试PHPUnit和Phinx

发布时间:2020-12-13 17:57:55 所属栏目:PHP教程 来源:网络整理
导读:我正在创建一个 PHP REST api,使用 PHPUnit进行单元测试和集成测试.我希望将phinx集成到数据库迁移(而不是自己构建迁移代码). 我实际上有两个问题: 我如何使用Phinx进行数据库设置? Phinx通常用作命令行工具,但我需要一些方法来调用我的单元测试类中的setu
我正在创建一个 PHP REST api,使用 PHPUnit进行单元测试和集成测试.我希望将phinx集成到数据库迁移(而不是自己构建迁移代码).

我实际上有两个问题:

>我如何使用Phinx进行数据库设置? Phinx通常用作命令行工具,但我需要一些方法来调用我的单元测试类中的setup方法.
>我将如何进行集成测试我编写的迁移类?我想要一些验证,在每次迁移步骤之后,我的数据库处于某种预期状态(可能包括在每次迁移期间应该保持一致的一些样本数据)

这是一个解决方案.
<?php
use PhinxConsolePhinxApplication;
use SymfonyComponentConsoleInputStringInput;
use SymfonyComponentConsoleOutputNullOutput;
use PhinxWrapperTextWrapper;

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");
}

?>

简短又甜蜜.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读