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
เอ็มไอที