集成测试PHPUnit和Phinx

前端之家收集整理的这篇文章主要介绍了集成测试PHPUnit和Phinx前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在创建一个 PHP REST api,使用 PHPUnit进行单元测试和集成测试.我希望将phinx集成到数据库迁移(而不是自己构建迁移代码).

我实际上有两个问题:

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

这是一个解决方案.
  1. <?PHP
  2. use Phinx\Console\PhinxApplication;
  3. use Symfony\Component\Console\Input\StringInput;
  4. use Symfony\Component\Console\Output\NullOutput;
  5. use Phinx\Wrapper\TextWrapper;
  6.  
  7. class ExampleTest extends TestCase
  8. {
  9.  
  10. private static $T;
  11.  
  12. public function setUp(){
  13. $app = new PhinxApplication();
  14. $app->setAutoExit(false);
  15. $app->run(new StringInput(' '),new NullOutput());
  16.  
  17. self::$T = new TextWrapper($app);
  18. self::$T->getMigrate("testing");
  19. }
  20.  
  21. public function tearDown(){
  22. self::$T->getRollback("testing");
  23. }
  24.  
  25. ?>

简短又甜蜜.

猜你在找的PHP相关文章