承接 satthi/plugin-test-support 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

satthi/plugin-test-support

最新稳定版本:3.0

Composer 安装命令:

composer require satthi/plugin-test-support

包简介

CakePHP PluginTestSupport

README 文档

README

このプラグインについて

  • このプラグインは、CakePHP3のプラグインのテスト支援用のプラグインです~~(ややこしい)~~
  • プラグインのテストを記述するにあたって、通常のテストであれば、データベース接続にapp.phpにDatasourcesのtest内に記載をする必要がありますが、plugin単体でテストをしようとすると記載場所がない(はず)です。
  • bakeのテストなどを拝見すると、mockを使ってテストしているようですが、実際のデータベースを使ってテストをしたいということでこんなプラグインを作成してみました。
  • 正直こんなのなくても、同じことができそうな気もするんですが、どうなんですかね・・・

使い方

① テストしたいプラグインのcomposer.jsonに以下を記載し、update

{
    "require-dev": {
        "satthi/plugin-test-support": "dev-master"
    },
}

② 使用したいテストに以下を記載

<?php
namespace EncryptionSupport\Test\TestCase\Model\Table;

use App\Model\Table\AccountsTable;
use Cake\ORM\TableRegistry;
use Cake\TestSuite\TestCase;
//以下をuse
use PluginTestSupport\Test\TestCase\AppTestCase;

/**
 * App\Model\Table\AccountsTable Test Case
 */
//AppTestCaseをextendsする
class AccountsTableTest extends AppTestCase
{

    /**
     * Fixtures
     *
     * @var array
     */
    public $fixtures = [
        'plugin.encryption_support.accounts',
    ];

    /**
     * setUpBeforeClass method
     * setUpBeforeClassをオーバーライドする
     * @return void
     */
    public static function setUpBeforeClass(){
        //データベースの接続情報
        $info = [
            'className' => 'Cake\Database\Connection',
            'driver' => 'Cake\Database\Driver\Postgres',
            'persistent' => false,
            'host' => 'localhost',
            //'port' => 'nonstandard_port_number',
            'username' => 'postgres',
            'password' => '',
            'database' => 'cakephp_test',
            'encoding' => 'utf8',
            'timezone' => 'Asia/Tokyo',
            'cacheMetadata' => false,
            'quoteIdentifiers' => false,
        ];
        parent::setConnectionInfo($info);
        
        parent::setUpBeforeClass();
    }

    /**
     * setUp method
     *
     * @return void
     */
    public function setUp()
    {
        parent::setUp();
        //fixtureManagerを呼び出し、fixtureを実行する
        $this->fixtureManager->fixturize($this);
        $this->fixtureManager->loadSingle('Accounts');
    }
}

统计信息

  • 总下载量: 12
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 1
  • 点击次数: 1
  • 依赖项目数: 1
  • 推荐数: 0

GitHub 信息

  • Stars: 1
  • Watchers: 1
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2015-07-06