PHPUnit использует кешированную переменную для нескольких вызовов API с помощью одной и той же функции.Php

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 PHPUnit использует кешированную переменную для нескольких вызовов API с помощью одной и той же функции.

Сообщение Anonymous »

Когда я вызываю один и тот же API несколько раз в методе тестирования PHPUnit, второй вызов API использует первый токен вместо второго.
Если я разделю эти вызовы в разных методах тестирования , он работает нормально.
Вот мой тестовый метод

Код: Выделить всё

public function test_login()
{
$user1 = User::factory()->create([ 'email' => $email1 = 'one@gmail.com' ]);
$user2 = User::factory()->create(['email' => $email2 = 'two@gmail.com']);

$tokens = [
$user1->createToken('token_1', ['*'])->plainTextToken,
$user2->createToken('token_2', ['*'])->plainTextToken,
];

$response1 = $this->withHeaders(['Authorization' => 'Bearer ' . $tokens[0]])->getJson('api/user');

// This response is ok
$response1->dump();

// This is suppose to return User 2 details, but returning user 1 details
$response2 = $this->withHeaders(['Authorization' => 'Bearer ' . $token[1]])->getJson('api/user');
$response2->dump();
}
Я пробовал разделить эти вызовы API разными методами, и это работает должным образом.
Я ожидаю, как мне получить пользователя 2 подробности при втором вызове API.

Подробнее здесь: https://stackoverflow.com/questions/792 ... e-function
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»