3

Jeffrey Way の Laravel Testing Decoded に従っていますが、修正できないように見える問題に遭遇しました。

私は実際にこのチュートリアルを進めています: http://net.tutsplus.com/tutorials/php/testing-laravel-controllers/これは彼の本からの抜粋です。

基本的に、次のようなテストがあります。

class PostsTest extends TestCase {


    public function __construct() 
    {
        $this->mock = Mockery::mock('Eloquent', 'Post');        
    }

そして、Eloquent と Post の戻り値をモックするのと同じように:

PHP Fatal error:  Class 'Eloquent' not found

phpunitを実行すると。ちなみに、Jeffrey の Laravel Generators を使用して、いくつかの足場を生成するだけの場合

php artisan generate:scaffold post --fields="title:string, body:string"

そしてphpunitを実行すると、同じエラーが発生します。彼は同じものを使用しています:

$this->mock = Mockery::mock('Eloquent', 'Post');

クラスをモックする。問題が何であるかについて何か提案はありますか?


チュートリアルを最初からやり直しましたが、まだ同じエラーが発生しています。人々が見ることができるように、私はそれを公開リポジトリにプッシュしました: https://github.com/RyanHavoc/tdd-laravel

それをプルダウンして、composer install/update と phpunit を実行するだけです。

4

1 に答える 1

6

問題の解決策を見つけました。

//Causes the Class 'Eloquent' not found error
public function __construct()
{
    $this->mock = Mockery::mock('Eloquent', 'Post');
}

//Setting the mocks in the setUp() method instead works
public function setUp() 
{
    parent::setUp();
    $this->mock = Mockery::mock('Eloquent', 'Post');
}
于 2014-01-25T13:35:05.360 に答える