Тестирование
Edit pageВ настоящее время разработка качественного программного обеспечения тесно связана с автоматизированным тестированием. Поэтому пакет содержит инструменты тестирования, которые помогут вам упростить его.
Для их использования достаточно добавить трейт ScreenTesting
в свой тестовый класс, например:
namespace Tests\Feature;
use Orchid\Support\Testing\ScreenTesting;
use Tests\TestCase;
class ExampleTest extends TestCase
{
use ScreenTesting;
//...
}
После этого станет доступен новый метод получения данных экрана по имени маршрута:
public function testExampleScreen()
{
$screen = $this->screen('platform.example');
$screen->display()
->assertSee('Example screen');
$screen
->method('showToast')
->assertSee('Hello, world! This is a toast message.');
$screen
->method('showToast', [
'toast' => 'Custom message'
])
->assertSee('Custom message');
}
Во многих случаях маршруты принимают параметры, напримерusers/{user}/edit
, чтобы их передать можно использовать метод:
$screen = $this->screen('platform.systems.users.edit')
->parameters([
'user' => 1,
]);
Скорее всего, ваши маршруты закрыты от гостей и доступны только авторизованным пользователям. В этом случае нужно вызвать метод actingAs
передающий пользователя для входа в систему..
// Create a single App\Models\User instance...
$user = User::factory()->create();
$screen = $this->screen('platform.example')->actingAs($user);