【发布时间】:2018-03-09 04:42:01
【问题描述】:
如何测试具有 __construct 的函数?
例如,我的控制器代码如下所示:
namespace App\Http\Controllers;
use App\Repositories\UserAccountRepository;
class UserController extends ProtectedController
{
protected $userAccountRepository;
public function __construct(userAccountRepository
$userAccountRepository){
parent::__construct();
$this->userAccountRepository = $userAccountRepository;
}
public function FunctionWantToTest(){
return 'string';
}
在测试我的 FunctionWantToTest 之前首先完成构造所需的单元测试。
所以,我的测试代码看起来像,
use Illuminate\Foundation\Testing\WithoutMiddleware;
use Illuminate\Foundation\Testing\DatabaseMigrations;
use Illuminate\Foundation\Testing\DatabaseTransactions;
use App\Http\Controllers\UserController;
class UserTest extends TestCase
{
/**
* A basic test example.
*
* @return void
*/
public function testUserList()
{
$UserController = new UserController(???what value??);
$this->assertTrue(true);
}
}
需要更多帮助(最佳实践)如何测试具有构造的代码。
【问题讨论】:
-
我建议对控制器进行功能测试(更多使用控制器的路由),而不是单元测试。
-
你能给我举个例子吗? @德文
标签: laravel unit-testing phpunit