Laravel 5.2:从测试PHPUnit调用内部控制器方法

时间:2016-07-26 13:00:42

标签: php unit-testing phpunit laravel-5.2

我的控制器如下,

class LoginAdminController extends Controller
{
    public function loginAdmin($username, $password)
    {
        dd($username);
        //check valid admin credentials
        $pwd = admin_users::select('adm_password')->where('adm_username', $username)->first();
        if(!empty($pwd))
        {
            if(Crypt::decrypt($pwd->adm_password) == $password)
            {
                $admin_users =  admin_users::select('adm_user_id')->where('adm_username', $username)->first();
                if(!empty($admin_users->adm_user_id))
                {
                    return $admin_users->adm_user_id;
                }
                else
                {
                    return FALSE;
                }
            }
            else
            {
                return FALSE;
            }
        }
        else
        {
            return FALSE;
        }
    }
}

我的单元测试用例如下,

<?php

use Illuminate\Foundation\Testing\WithoutMiddleware;
use Illuminate\Foundation\Testing\DatabaseMigrations;
use Illuminate\Foundation\Testing\DatabaseTransactions;
use App\Http\Controllers\Auth\LoginAdminController;

class LoginAdminTest extends TestCase
{
    /**
     * A basic test example.
     *
     * @return void
     */

    use WithoutMiddleware;

    public function setUp()
    {
        parent::setUp();
    }

    public function testloginAdminValidData()
    {
        $response = $this->action('get', 'LoginAdminController@index');
        var_dump($response->getContent());
    }
}

我必须测试这个loginAdmin()函数进行单元测试。在routes.php中没有为此方法定义路由。我可以直接从测试用例中调用此方法吗?如果是,那么请给我命令用参数调用它。 提前致谢

0 个答案:

没有答案
相关问题