したがって、主キー ID を介して連絡先を返す非常に単純な (少なくとも現在は) モデルがあります。
class Model_Contact extends \Fuel\Core\Model
{
public function get_by_id($contact_id)
{
return Entity_Contact::find_by_pk($contact_id);
}
}
クラスは次のEntity_Contact
ようになります (無関係な配列の内容は省略されています)。
class Entity_Contact extends \Core\Entity_Base
{
protected static $_table_name = 'contacts';
protected static $_properties = array(...);
protected static $_public_settable_properties = array(...);
protected static $_rules = array(...);
}
注:\Core\Entity_Base
伸びます\Fuel\Core\Model_Crud
これをコントローラーで次のように使用する場合があります。
$model = new Model_Contact();
$contact = $model->get_by_id(4);
これを単体テストするには、実際のデータベース呼び出し ( Entity_Contact::find_by_pk
) をモックアウトする必要があることはわかっていますが、これを行う方法がわかりません。私は Fuel のModel_crud
機能 (DB アクセサーが実際にはドメイン オブジェクト モデルの一部である) を使用しているため、データベースを完全にモックできるかどうかわかりません。または、何か不足している可能性があります。
質問: のテストをどのように書きますModel_Contact::get_by_id()
か?
前もって感謝します!