\Test_Model_Base

Model_Baseのテスト

Summary

Methods
Properties
Constants
setUpBeforeClass()
setUp()
test___construct_第一引数は省略可能()
test___construct_第一引数に連想配列を渡すとそのキーと値がプロパティに設定される()
test_isNew_まだDBに存在しないデータならtrueを返す()
test_isNew_既にDBに存在しているデータならfalseを返す()
test_validate_内部でbefore_validateフックが呼ばれる()
test_validate_内部でafter_validateフックが呼ばれる()
test_create_内部でbefore_insertフックが呼ばれる()
test_insert_DBに挿入が行える()
test_insert_戻り値はboolean()
test_insert_created_atにNOW()_updated_atにもNOW()の値が格納されている()
test_insert_第一引数にtrueを与えるとINSERT_IGNOREのSQLが発行される()
test_insert_第一引数にtrueを与え_DBにあるデータと重複するモデルを挿入しようとしても例外をスローしない()
test_insert_第一引数にfalseを与え_DBにあるデータと重複するモデルを挿入しようとすると例外をスローする()
test_update_内部でbefore_updateフックが呼ばれる()
test_update_内部でbefore_saveフックが呼ばれる()
test_update_DBに存在するモデルをupdateしてもDBの行数は変わらない()
test_update_変更した値がDBに反映される()
test_update_updated_atは更新され_created_atは更新されない()
test_update_戻り値はboolean()
test_update_更新の際にはcreated_atは変化せずupdated_atの値だけ更新される()
test_save_内部でbefore_saveフックが呼ばれる()
test_save_新規挿入の際にはcreated_atとupdated_atにNOWの値(CURRENT_TIMESTAMP)が格納される()
test_save_UNIQUEキーがDBに存在するデータと重複するモデルをsaveすると更新になる()
test_save_UNIQUEキーがDBに存在するデータと重複しないモデルをsaveすると挿入になる()
test_delete_内部でbefore_deleteフックが呼ばれる()
test_delete_DBから削除ができる()
test_delete_戻り値はboolean()
test_find_DBからデータを取得して生成したインスタンスはid_created_at_updated_atを持っている()
test_find_存在しないidを与えるとnullが返る()
test_findBy_一致する条件があればModel_Baseのインスタンスの配列が返る()
test_findBy_存在しない条件を与えると空配列が返る()
test_findLike_部分一致で検索ができる()
test_count_引数を省略するとそのテーブル全件のデータ件数が取得できる()
test_count_存在しない条件を与えると戻り値はゼロ()
test_transactionDo_トランザクションが実行されている()
test_transactionDo_コールバックで例外が起きずに終了するとコミットされる()
test_transactionDo_コールバック内で例外を投げるとロールバックされる()
test__getTableName_クラス名からModel_を取り除き小文字かつ複数形にした文字列が返却される()
test_toArray_戻り値は連想配列()
test_toArray_ignoreされたプロパティは返却されない()
test_toArray_定義されていないプロパティは返却されない()
No public properties found
SEED_PATH
getProperty()
getMethod()
assertCalledOnce()
$seeds
$restore_tables
N/A
bulkInsert()
getGetTableName()
getHookMock()
getHookFirstArgument()
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');
}

test___construct_第一引数は省略可能()

test___construct_第一引数は省略可能() 

test___construct_第一引数に連想配列を渡すとそのキーと値がプロパティに設定される()

test___construct_第一引数に連想配列を渡すとそのキーと値がプロパティに設定される() 

test_isNew_まだDBに存在しないデータならtrueを返す()

test_isNew_まだDBに存在しないデータならtrueを返す() 

test_isNew_既にDBに存在しているデータならfalseを返す()

test_isNew_既にDBに存在しているデータならfalseを返す() 

test_validate_内部でbefore_validateフックが呼ばれる()

test_validate_内部でbefore_validateフックが呼ばれる() 

test_validate_内部でafter_validateフックが呼ばれる()

test_validate_内部でafter_validateフックが呼ばれる() 

test_create_内部でbefore_insertフックが呼ばれる()

test_create_内部でbefore_insertフックが呼ばれる() 

test_insert_DBに挿入が行える()

test_insert_DBに挿入が行える() 

test_insert_戻り値はboolean()

test_insert_戻り値はboolean() 

test_insert_created_atにNOW()_updated_atにもNOW()の値が格納されている()

test_insert_created_atにNOW()_updated_atにもNOW()の値が格納されている() 

test_insert_第一引数にtrueを与えるとINSERT_IGNOREのSQLが発行される()

test_insert_第一引数にtrueを与えるとINSERT_IGNOREのSQLが発行される() 

test_insert_第一引数にtrueを与え_DBにあるデータと重複するモデルを挿入しようとしても例外をスローしない()

test_insert_第一引数にtrueを与え_DBにあるデータと重複するモデルを挿入しようとしても例外をスローしない() 

test_insert_第一引数にfalseを与え_DBにあるデータと重複するモデルを挿入しようとすると例外をスローする()

test_insert_第一引数にfalseを与え_DBにあるデータと重複するモデルを挿入しようとすると例外をスローする() 

test_update_内部でbefore_updateフックが呼ばれる()

test_update_内部でbefore_updateフックが呼ばれる() 

test_update_内部でbefore_saveフックが呼ばれる()

test_update_内部でbefore_saveフックが呼ばれる() 

test_update_DBに存在するモデルをupdateしてもDBの行数は変わらない()

test_update_DBに存在するモデルをupdateしてもDBの行数は変わらない() 

test_update_変更した値がDBに反映される()

test_update_変更した値がDBに反映される() 

test_update_updated_atは更新され_created_atは更新されない()

test_update_updated_atは更新され_created_atは更新されない() 

test_update_戻り値はboolean()

test_update_戻り値はboolean() 

test_update_更新の際にはcreated_atは変化せずupdated_atの値だけ更新される()

test_update_更新の際にはcreated_atは変化せずupdated_atの値だけ更新される() 

test_save_内部でbefore_saveフックが呼ばれる()

test_save_内部でbefore_saveフックが呼ばれる() 

test_save_新規挿入の際にはcreated_atとupdated_atにNOWの値(CURRENT_TIMESTAMP)が格納される()

test_save_新規挿入の際にはcreated_atとupdated_atにNOWの値(CURRENT_TIMESTAMP)が格納される() 

test_save_UNIQUEキーがDBに存在するデータと重複するモデルをsaveすると更新になる()

test_save_UNIQUEキーがDBに存在するデータと重複するモデルをsaveすると更新になる() 

test_save_UNIQUEキーがDBに存在するデータと重複しないモデルをsaveすると挿入になる()

test_save_UNIQUEキーがDBに存在するデータと重複しないモデルをsaveすると挿入になる() 

test_delete_内部でbefore_deleteフックが呼ばれる()

test_delete_内部でbefore_deleteフックが呼ばれる() 

test_delete_DBから削除ができる()

test_delete_DBから削除ができる() 

test_delete_戻り値はboolean()

test_delete_戻り値はboolean() 

test_find_DBからデータを取得して生成したインスタンスはid_created_at_updated_atを持っている()

test_find_DBからデータを取得して生成したインスタンスはid_created_at_updated_atを持っている() 

test_find_存在しないidを与えるとnullが返る()

test_find_存在しないidを与えるとnullが返る() 

test_findBy_一致する条件があればModel_Baseのインスタンスの配列が返る()

test_findBy_一致する条件があればModel_Baseのインスタンスの配列が返る() 

test_findBy_存在しない条件を与えると空配列が返る()

test_findBy_存在しない条件を与えると空配列が返る() 

test_findLike_部分一致で検索ができる()

test_findLike_部分一致で検索ができる() 

test_count_引数を省略するとそのテーブル全件のデータ件数が取得できる()

test_count_引数を省略するとそのテーブル全件のデータ件数が取得できる() 

test_count_存在しない条件を与えると戻り値はゼロ()

test_count_存在しない条件を与えると戻り値はゼロ() 

test_transactionDo_トランザクションが実行されている()

test_transactionDo_トランザクションが実行されている() 

test_transactionDo_コールバックで例外が起きずに終了するとコミットされる()

test_transactionDo_コールバックで例外が起きずに終了するとコミットされる() 

test_transactionDo_コールバック内で例外を投げるとロールバックされる()

test_transactionDo_コールバック内で例外を投げるとロールバックされる() 

test__getTableName_クラス名からModel_を取り除き小文字かつ複数形にした文字列が返却される()

test__getTableName_クラス名からModel_を取り除き小文字かつ複数形にした文字列が返却される() 

test_toArray_戻り値は連想配列()

test_toArray_戻り値は連想配列() 

test_toArray_ignoreされたプロパティは返却されない()

test_toArray_ignoreされたプロパティは返却されない() 

test_toArray_定義されていないプロパティは返却されない()

test_toArray_定義されていないプロパティは返却されない() 

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件ずつ

getGetTableName()

getGetTableName(  $class_name) 

Parameters

$class_name

getHookMock()

getHookMock(  $classname,   $hookname) 

Parameters

$classname
$hookname

getHookFirstArgument()

getHookFirstArgument(  $classname,   $hookname,   $expected) 

Parameters

$classname
$hookname
$expected