尤川豪   ·  3年前
445 貼文  ·  275 留言

Laravel/PHPUnit 一個測試 controller 的極端方法

這是一個奇怪的方法,但是可行

非必要千萬不要這樣做,只在少數特殊情況可以這樣做

$request = Mockery::mock(\Illuminate\Http\Request::class);

$this->app->instance(\Illuminate\Http\Request::class, $request);

$request->shouldReceive('get')
    ->andReturnUsing(function ($argument) {
        if ($argument === 'id') {
            return 'id';
        }

        if ($argument === 'type') {
            return 'type';
        }

        if ($argument === 'amount') {
            return 'amount';
        }
    });

$controller = resolve('App\Http\Controllers\Admin\OrderController');

$controller->doSomething($request);
  分享   共 1,201 次點閱
共有 0 則留言
還沒有人留言。歡迎分享您的觀點、或是疑問。
您的留言
尤川豪
445 貼文  ·  275 留言

Devs.tw 是讓工程師寫筆記、網誌的平台。隨手紀錄、寫作,方便日後搜尋!

歡迎您一起加入寫作與分享的行列!

查看所有文章