0

テストでモデルをロードする方法は? コントローラをロードしてテストする方法は?

致命的なエラー: モデルが見つかりません!

これはコントローラーでは機能します: #しかし、テストでは機能しません

<?php

# PATH app\modules\adm\classes\model

namespace Adm\Model;

class Medico extends \Orm\Model
{
  protected static  $_primary_key = array('id');
  protected static  $_table_name  = 'medico';
}

# PATH app\modules\adm\classes\controller
# WORKS!!!
namespace Adm;

use Adm\Model\Medico; # <- WORKS!!!

class Controller_Medicos extends \Controller_Template
{ 
  public function action_index()
  {
    $data['medicos'] = Medico::find()->select('id','segundo_nome')->limit(1)->get_one();

    print_r($data['medicos']->segundo_nome);

    $this->template->content = \View::forge('medicos/index');
  }
}

# app\modules\tests\adm\classes\model
# DOES NOT WORK!!

namespace Adm;
use Adm\Model\Medico; # <- Adm\Model\Medico NOT FOUND why ?
class Test_Model_Medico extends \TestCase
{
  public function test_autocomplete()
  {
    $medico = Medico::find(1);

    $this->assertEquals(2,2);
  }
}
4

1 に答える 1

1

URL を介してコントローラーを要求すると、ルーティング エンジンはモジュールを自動読み込みします。

これは、オイルを介してテストを実行する場合には発生しないため、テスト クラスのセットアップ セクションで手動でロードする必要があります。

\Module::load('adm');
于 2012-05-14T13:54:02.617 に答える