유닛 테스트 프레임워크, 커밋된 코드를 유닛 단위로 테스트
* 정보
https://phpunit.de/
PHPUnit 8 - PHP 7.2, PHP 7.3, PHP 7.4
PHPUnit 7 - PHP 7.1, PHP 7.2, PHP 7.3
PHPUnit 6 - PHP 7.0, PHP 7.1, PHP 7.2 <===== 라라벨 5.5
PHPUnit 5 - PHP 5.6, PHP 7.0, PHP 7.1 <===== 라라벨 5.3
* 라라벨에서 설치
composer.json 편집
"phpunit/phpunit": "^6", 원하는 버전 숫자로 수정
composer update
./vendor/bin/phpunit --version
ln -s ./vendor/phpunit/phpunit/phpunit phpunit
* 환경변수 파일 phpunit.xml 확인 및 수정
https://laravel.kr/docs/5.5/testing
* 테스트 생성
php artisan make:test BoxTest
- tests/Feature/BoxTest.php 파일 생성
php artisan make:test BoxTest --unit
- tests/Unit/BoxTest.php 파일 생성
* 테스트 실행
./vendor/bin/phpunit --bootstrap vendor/autoload.php tests/Unit/BoxTest
- phpunit.xml 파일에 설정되어있어서 "--bootstrap vendor/autoload.php" 는 생략 가능
- 위에서 생성한 링크 사용
./phpunit tests/Unit/BoxTest <====== 권장
./phpunit
- Feature 와 Unit 폴더에 있는 모든 파일을 테스트
//===================
php artisan make:test BoxTest --unit
* 테스트 코드 소스
https://semaphoreci.com/community/tutorials/getting-started-with-phpunit-in-laravel
./App/usr/Box.php
<?php
namespace App\usr; // App의 A는 꼭 대문자라야 한다.!!!!
class Box
{
protected $items = [];
public function __construct($items = [])
{
$this->items = $items;
}
public function has($item)
{
return in_array($item, $this->items);
}
}
//=========================
./tests/Unit/BoxTest.php
<?php
namespace Tests\Unit;
use Tests\TestCase;
use Illuminate\Foundation\Testing\WithFaker;
use Illuminate\Foundation\Testing\RefreshDatabase;
use App\usr\Box; // App의 A는 꼭 대문자라야 한다.!!!!
class BoxTest extends TestCase
{
public function testHasItemInBox()
{
$box = new Box(['cat', 'toy', 'torch']);
$this->assertTrue($box->has('toy'));
$this->assertFalse($box->has('ball'));
}
}
//=====================================================
//참고
https://semaphoreci.com/community/tutorials/getting-started-with-phpunit-in-laravel
PHPUnit in Laravel - Cheat sheet
Enjoy this cheat sheet at its fullest within Dash, the macOS documentation browser.
https://kapeli.com/cheat_sheets/PHPUnit_in_Laravel.docset/Contents/Resources/Documents/index
//========
//참고만
- 현재 폴더에 설치
wget -O phpunit https://phar.phpunit.de/phpunit-7.phar
chmod +x phpunit
/phpunit --version
'Code > PHP' 카테고리의 다른 글
[라라벨] POST 예제 (0) | 2018.10.14 |
---|---|
[라라벨] PHPUnit (2) - HTTP 웹 테스트 예제 (0) | 2018.10.11 |
라라벨 버전 업그레이드 방법(5.1->5.2->5.3->5.4->5.5) (0) | 2018.10.10 |
라라벨 설치 composer install 명령시 에러 해결 방법 (0) | 2018.10.09 |
XE3 (XpressEngine3) 사용법 - 수동 설치 방법 (0) | 2018.09.27 |