thinkphp6 unit test
1.1.2
PHPUnit 및 ThinkPHP 6을 사용한 단위 테스트를 위한 간단한 도구
Thinkphp v6.0+
PHPUnit v9.x+
조롱 v1.x+
composer require aspirantzhang/thinkphp6-unit-test --dev
먼저 클래스에서 UnitTestTrait
를 사용합니다.
use aspirantzhangthinkphp6UnitTestUnitTestTrait;
클래스(예: 컨트롤러)를 테스트할 때 명령문 앞에 이를 사용하고 다음과 같이 $this->app
컨트롤러의 매개변수로 설정하세요.
$this->startRequest();
$yourController = new YourController($this->app);
또는 단순히 기능 테스트
$this->startApp();
전체 메소드 테스트는 다음과 같습니다.
public function testAdminHome()
{
$this->startRequest();
$adminController = new AdminController($this->app);
$response = $adminController->home();
$this->assertEquals(200, $response->getCode());
}
더 많은 지원되는 사용법
// get with no param
$this->startRequest();
// get with param
$this->startRequest('GET', ['trash' => 'onlyTrashed']);
// post with data
$this->startRequest('POST', ['type' => 'delete', 'ids' => [1]]);
// put with data
$this->startRequest('PUT', ['display_name' => 'Admin']);
// mock localization
$this->mockLang('zh-cn');
// close mock localization
$this->endMockLang();
마지막으로 요청을 닫습니다.
$this->endRequest();
이 패키지 https://github.com/aspirantzhang/octopus를 사용하여 프로젝트를 참조할 수 있습니다.
MIT