我參照了thinkphp的集成單元測試。
可以測試服務(wù)類
但是無法測試http請求
test/BaseText.php
# DI
protected $container;
public function __construct($name = null, array $data = [], $dataName = '')
{
parent::__construct($name, $data, $dataName);
$builder = new \DI\ContainerBuilder();
$builder->addDefinitions(config('dependence', []));
$builder->useAutowiring(true);
$builder->useAnnotations(true);
$this->container = $builder->build();
}
public function __call($name, $arguments)
{
return $this->container->{$name}(...$arguments);
}
test/ExampleText
use app\api\service\auth\Auth;
class ExampleTest extends BaseTest
{
public function testExample()
{
$auth = $this->container->get(Auth::class);
$this->assertInstanceOf(Auth::class, $auth);
$row = $auth->login('admin', '123456');
$this->assertIsNumeric($row->id);
$token = $auth->getToken();
$this->assertIsString($token);
$boole = $auth->init($token);
$this->assertIsBool($boole);
}
}
可以測試服務(wù)類 有不有辦法測試控制器的返回呢