\Test_Common

テストクラスの基底クラス データベースのユーティリティ、リフレクションの汎用処理、アサーションのユーティリティなどを定義する

Summary

Methods
Properties
Constants
setUpBeforeClass()
setUp()
No public properties found
SEED_PATH
getProperty()
getMethod()
assertCalledOnce()
$seeds
$restore_tables
N/A
bulkInsert()
No private properties found
N/A

Constants

SEED_PATH

SEED_PATH

fuel/app/configディレクトリから、シードデータまでの相対パス

Properties

$seeds

$seeds : array

シードデータを格納する

Type

array

$restore_tables

$restore_tables : array

setUp時にシードデータでリフレッシュするテーブルを配列で指定

Type

array

Methods

setUpBeforeClass()

setUpBeforeClass() : void

## テスト開始時の初期化処理 テスト開始時にシードデータを読み込み、その結果をプロパティにキャッシュしておく NOTE: PHPUnitの都合でこのクラスが継承されるたびに1回の初期化が起こるため、既に設定をロード済みならロードしないようにしている。

setUp()

setUp() : void

## テストケース事の初期化処理 $restore_tablesプロパティに値が指定されていたら、そのテーブルを空にして、シードデータを投入する デフォルトは空配列が指定されているので、何も指定がされなければ何も起きない。

sample

class Test_Task_Item extends Test_Common {
    protected $restore_tables = array('items', 'companies');
}

getProperty()

getProperty(  $class,   $property) 

Parameters

$class
$property

getMethod()

getMethod(  $class,   $method) 

Parameters

$class
$method

assertCalledOnce()

assertCalledOnce(  $mock,   $method) 

Parameters

$mock
$method

bulkInsert()

bulkInsert(string  $table, array<mixed,array>  $rows, integer  $step = 50) 

$stepのデフォルトが50件なのは下記の記事に基づく情報。 PHP/MySQL でレコードを N 件ずつバルクインサート http://blog.yuyat.jp/archives/2018

Parameters

string $table

挿入を行うテーブル名

array<mixed,array> $rows

挿入を行うデータの連想配列(シードから読み取った値を想定)

integer $step

一度に挿入する件数。デフォルトでは50件ずつ