Конечно. Вы можете создать промежуточный родительский класс TestCaseWithToken
(или как вы хотите его назвать), который будет расширять PHPUnit\Framework\TestCase
и добавить туда свой переопределенный метод
protected function setUp(): void
{
parent::setUp();
// set your headers here
$this->withHeaders([
'Authorization' => 'Bearer ' . $this->getBearerToken(),
'Accept' => 'application/json'
])
}
protected function getBearerToken()
{
return '';
}
Дополнительно, если ваш токен изменится в переменной $response
вы можете создать функцию, которая возвращает токен, чтобы вы могли легко переопределить метод в отдельных тестовых классах. Вы можете выбрать свойство класса и метод установки, которые будут работать одинаково.
Если вы хотите получить токен пользователя, которого хотите войти, это легко сделать. Просто заставьте метод getBearerToken
вернуть что-то вроде auth('api')->login($this->authUser);
(это будет goint для возврата фактического токена) и установите $authUser
один раз для каждого тестового файла. Надеюсь, это поможет вам в правильном направлении.