- PHPUnit HTTP Web test example
//=================
./tests/Feature/WebTest.php 소스
<?php
namespace Tests\Feature;
use Tests\TestCase;
use Illuminate\Foundation\Testing\RefreshDatabase;
class WebTest extends TestCase
{
public function testBasicTest()
{
$response = $this->get('/');
$response->assertStatus(200);
}
}
//=========
* 검사 실행
./vendor/bin/phputil tests/Feature/WebTest.php
//====================
./tests/Feature/WebDuskTest.php 소스
<?php
use Tests\DuskTestCase;
use Laravel\Dusk\Browser;
use Illuminate\Foundation\Testing\DatabaseMigrations;
class WebDuskTest extends DuskTestCase
{
public function testBasicExample2()
{
$this->browse(function (Browser $browser) {
$browser->visit('/')
->assertSee('Laravel 5');
});
}
}
//=========
* 검사 실행
./vendor/bin/phputil tests/Feature/WebDuskTest.php
//=============
- 에러 메시지
Error: Call to undefined method Tests\Feature\ExampleTest::visit()
- 해결 방법
dusk 패키지 설치
//======================
* Dusk 패키지 설치
composer require --dev laravel/dusk
//============
- 패키지 설치 에러
laravel/dusk v4.0.0 requires illuminate/support ~5.6
- 해결방법 : 낮은 버전을 설치한다.
composer require --dev laravel/dusk:2.*
* dusk 등록
php artisan dusk:install
- tests/Browser 폴더가 생성됨
- dusk 실행을 위한 설정
dusk는 config/app.php 파일을 참조한다.(.env 아님)
예)
'url' => 'http://localhost:8000',
'env' => env('APP_ENV', 'local'),
//=======================
* PHPUnit 테스트 실행
./phpunit tests/Browser/ExampleTest
- php artisan dusk 로 실행하면 안됨 - Test.php를 찾는 것 같음, 시간 오래 걸림
- 만약 실수 실해 했다면 실행된 프로세스를 모두 종료 시켜야 함
- chromedriver-win.exe, chrome, "cmd /V:ON /E:ON /D /C ..."
//=============
- 에러 메시지
Facebook\WebDriver\Exception\UnknownServerException: unknown error: unhandled inspector error: {"code":-32000,"message":"Cannot navigate to invalid URL"}
- 해결 방법
config/app.php 파일에서 url 항목을 제대로 적어 준다
예) 'url' => 'http://localhost:8000',
//===========
- 에러 메시지
Exception: It is unsafe to run Dusk in production.
- 해결 방법
config/app.php 파일에서 env 항목을 local로 설정
'env' => env('APP_ENV', 'local'),
//=====================================================
//참고
https://semaphoreci.com/community/tutorials/getting-started-with-phpunit-in-laravel
'Code > PHP' 카테고리의 다른 글
[W3Schools] PHP 정리 (0) | 2018.11.09 |
---|---|
[라라벨] POST 예제 (0) | 2018.10.14 |
[라라벨] PHPUnit 설치, 기본 사용법 (0) | 2018.10.11 |
라라벨 버전 업그레이드 방법(5.1->5.2->5.3->5.4->5.5) (0) | 2018.10.10 |
라라벨 설치 composer install 명령시 에러 해결 방법 (0) | 2018.10.09 |