Laravel 개발: 엔드투엔드 테스트에 Laravel 테스트를 사용하는 방법은 무엇입니까?
Laravel은 웹 애플리케이션에 강력한 인프라와 즉시 사용 가능한 기능을 제공하는 인기 있는 PHP 프레임워크입니다. 그 중 하나는 Laravel 애플리케이션에 대한 빠른 엔드투엔드 테스트 메커니즘을 제공하는 Laravel Testing입니다. 이 기사에서는 엔드투엔드 테스트를 위해 Laravel 테스트를 사용하는 방법을 알아봅니다.
종단 간 테스트가 필요한 이유는 무엇입니까?
소프트웨어 개발 과정에서 테스트는 소프트웨어 품질을 보장하는 중요한 부분입니다. 웹 애플리케이션에서 엔드투엔드 테스트는 테스트의 마지막 단계이자 최종 승인 단계입니다. 엔드투엔드 테스트는 일반적으로 실제 사용자 작업을 시뮬레이션하고 웹 애플리케이션이 제대로 작동할 수 있는지 테스트하기 위해 자동화된 테스트 스크립트로 완료됩니다.
종단 간 테스트를 사용하여 다음을 수행합니다.
- 애플리케이션이 기대치를 충족하는지 확인
- 애플리케이션이 작동 가능하고 응답성이 있는지 확인
- 버그 및 오류 잡기
Laravel 테스트의 기본
Laravel 테스트는 Laravel 프레임워크와 함께 제공되는 테스트 라이브러리는 테스트를 작성하고 실제 사용자 상호 작용을 시뮬레이션하기 위한 다양한 방법과 도구를 제공합니다.
Laravel Testing에서는 테스트 클래스를 생성하고 PHPUnit을 사용하여 테스트할 수 있습니다. LaravelTesting은 경로 및 페이지 액세스와 같은 Laravel 애플리케이션 기능을 더 쉽게 사용할 수 있도록 PHPUnit에 추가 기능 확장을 제공합니다.
종단 간 테스트를 위해 Laravel 테스트를 사용할 때 주로 다음 구성 요소를 사용합니다.
- 브라우저 테스트 구성 요소(BrowserKit 테스트): HTTP 요청 및 응답을 시뮬레이션하여 웹 애플리케이션이 올바르게 응답할 수 있는지 테스트할 수 있습니다.
- 대기열 테스트: Laravel의 대기열 기능을 테스트하여 올바르게 실행되는지 확인할 수 있습니다.
종단 간 테스트 작성
이 섹션에서는 로그인 페이지와 등록 페이지의 기능을 테스트하기 위해 간단한 종단 간 테스트를 작성하겠습니다.
준비
먼저 PHPUnit 및 Laravel 테스트 라이브러리를 설치해야 합니다. Composer를 사용하여 이러한 작업을 수행할 수 있습니다.
터미널 창에 다음 명령을 입력하여 PHPUnit 설치를 완료하세요.
composer require --dev phpunit/phpunit
그런 다음 다음 명령을 사용하여 Laravel 테스트 라이브러리를 설치할 수 있습니다.
composer require --dev orchestra/testbench-browser-kit
설치가 완료되면 테스트 작성을 시작할 수 있습니다.
테스트 작성
Creating TestCase Class
Laravel Testing의 기능을 사용할 수 있도록 TestCase 클래스를 생성하고 Laravel 클래스에서 확장해 보겠습니다. 터미널 창에 다음 명령을 입력하세요:
php artisan make:test EndToEndExampleTest
이 명령은 /tests/ 디렉터리에 EndToEndExampleTest.php 파일을 생성합니다. 전체 파일의 내용을 다음 예제 코드로 바꿉니다:
<?php namespace TestsFeature; use IlluminateFoundationTestingRefreshDatabase; use LaravelBrowserKitTestingTestCase as BaseTestCase; abstract class EndToEndTestCase extends BaseTestCase { use CreatesApplication; }
테스트 만들기
테스트 작성을 시작하기 전에 Laravel 애플리케이션이 실행 중인지 확인해야 합니다. 다음 명령을 사용하여 애플리케이션을 시작할 수 있습니다.
php artisan serve
이제 로그인 및 등록 기능을 테스트하는 테스트를 작성할 수 있습니다. EndToEndExampleTest 테스트 클래스에 다음 테스트 메서드를 추가합니다:
public function testUserRegistration() { $this->browse(function ($browser) { // 访问登陆页面 $browser->visit('/login') ->assertSee('Login') ->assertSee('Email') ->assertSee('Password'); // 注册新用户 $browser->visit('/register') ->type('name', 'John Doe') ->type('email', 'johndoe@example.com') ->type('password', 'password') ->type('password_confirmation', 'password') ->press('Register') ->assertPathIs('/home'); // 退出登录 $browser->click('#navbarDropdown') ->assertSee('Logout') ->clickLink('Logout') ->assertPathIs('/'); }); }
위 테스트에서는 Laravel Testing의 브라우저 테스트 구성 요소를 사용하여 사용자 작업을 시뮬레이션했습니다. 로그인 페이지를 방문하여 로그인 양식을 제출한 다음 등록 페이지를 방문하여 새 사용자를 생성하고 마지막으로 로그아웃합니다. 출력이 예상한 대로인지, 요청한 경로와 위치가 올바른지 확인합니다.
다음 명령을 사용하여 테스트를 실행할 수 있습니다.
php artisan test --testsuite=Feature
실행이 완료되면 콘솔에 테스트 결과가 표시됩니다.
요약
Laravel 테스트는 Laravel 프레임워크와 함께 제공되는 테스트 라이브러리로, 간단하고 친숙한 엔드투엔드 테스트 도구와 기능 확장을 제공하여 테스트 스크립트를 더 쉽게 작성하고 실행할 수 있도록 해줍니다. 이 기사에서는 엔드투엔드 테스트를 위해 Laravel 테스트를 사용하는 방법을 배웠고 기본 로그인 및 등록 테스트를 생성하여 브라우저 테스트에 Laravel 테스트를 사용하는 방법을 시연했습니다. 실제로 필요에 따라 테스트를 사용자 정의하고 애플리케이션의 다양한 측면을 검증할 수 있습니다.
위 내용은 Laravel 개발: 엔드투엔드 테스트에 Laravel 테스트를 사용하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











Laravel 이메일 전송이 실패 할 때 반환 코드를 얻는 방법. Laravel을 사용하여 응용 프로그램을 개발할 때 종종 확인 코드를 보내야하는 상황이 발생합니다. 그리고 실제로 ...

laravel 일정 작업 실행 비 응답 문제 해결 Laravel의 일정 작업 일정을 사용할 때 많은 개발자 가이 문제에 직면합니다 : 스케줄 : 실행 ...

Laravel의 이메일을 처리하지 않는 방법은 LaRavel을 사용하는 것입니다.

DCAT를 사용할 때 DCATADMIN (LARAVEL-ADMIN)에서 데이터를 추가하려면 사용자 정의의 테이블 기능을 구현하는 방법 ...

Laravel - 덤프 서버 - Laravel 덤프 서버는 Laravel 5.7 버전과 함께 제공됩니다. 이전 버전에는 덤프 서버가 포함되어 있지 않습니다. 덤프 서버는 laravel/laravel 작곡가 파일의 개발 종속성이 됩니다.

Laravel 프레임 워크 및 Laravel 프레임 워크 및 Redis를 사용할 때 Redis 연결을 공유하는 데 영향을 줄 수 있습니다. 개발자는 문제가 발생할 수 있습니다. 구성을 통해 ...

Laravel 다중 테넌트 확장 패키지 패키지 패키지 패키지 패키지 Stancl/Tenancy, ...

Laravel - 액션 URL - Laravel 5.7에는 "호출 가능한 액션 URL"이라는 새로운 기능이 도입되었습니다. 이 기능은 액션 메소드에서 문자열을 허용하는 Laravel 5.6의 기능과 유사합니다. Laravel 5.7에 도입된 새로운 구문의 주요 목적은
