2012-05-11 13 views
0

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

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

これは、コントローラで動作します:あなたはURL、ルーティングエンジンの意志の自動ロードモジュールを介してコントローラを要求すると#butがテスト

<?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); 
    } 
} 
+0

あなたはphpunit.xmlするモジュールパスを追加しましたドキュメントhttp://fueldevdocs.exite.eu/general/unit_testing.html#unit_tests_for_modules? – Altrim

答えて

1

では動作しません。

これは、あなたが油を通じてテストを実行するとき、あなたのテストクラスの設定]セクションに手動でロードするので、発生しません:に示すように

\Module::load('adm'); 
関連する問題