FuelPHP-단위 테스트
단위 테스트는 대규모 프로젝트를 개발하는 데 필수적인 프로세스입니다. Unit tests모든 개발 단계에서 애플리케이션 구성 요소 테스트를 자동화하는 데 도움이됩니다. 애플리케이션의 구성 요소가 프로젝트의 비즈니스 사양에 따라 작동하지 않을 때 경고합니다. 단위 테스트는 수동으로 수행 할 수 있지만 종종 자동화됩니다.
PHPUnit
FuelPHP 프레임 워크는 PHPUnit 테스트 프레임 워크와 통합됩니다. FuelPHP 프레임 워크에 대한 단위 테스트를 작성하려면 PHPUnit을 설정해야합니다. PHPUnit이 설치되어 있지 않으면 다운로드하여 설치하십시오. 다음 명령을 사용하여 시스템에서 PHPUnit의 가용성을 확인할 수 있습니다.
phpunit --version
PHPUnit을 사용할 수있는 경우 다음과 유사한 결과가 표시됩니다.
PHPUnit 5.1.3 by Sebastian Bergmann and contributors.
단위 테스트 만들기
단위 테스트를 작성하기 위해 FuelPHP에서 제공하는 표준 위치는 fuel / app / tests입니다. 컨트롤러, 모델,보기 및 발표자에 대한 단위 테스트를 별도의 폴더에 작성할 수 있습니다. Model_Employee 개체의 유효성을 검사하는 단위 테스트를 작성하겠습니다.
Step 1 − fuel / app / tests 폴더 아래에 폴더, 모델을 생성합니다.
Step 2 − fuel / app / tests / model / 폴더에 employee.php 파일을 생성합니다.
Step 3 − PHPUnit에서 제공하는 TestCase 클래스를 확장하여 새로운 테스트 클래스 인 Test_Model_Employee를 생성합니다.
Step 4 − PHPUnit의 TestCase 클래스에서 제공하는 assertInstanceOf () 메서드를 사용하여 직원 객체 생성을 자산화하는 testInstanceOfEmployee () 메서드를 작성합니다.
다음은 완전한 코드입니다-
<?php
class Test_Model_Employee extends TestCase {
public function testInstanceOfEmployee() {
$this->assertInstanceOf(Model_Employee::class, new Model_Employee());
}
}
테스트 그룹 생성
FuelPHP는 테스트 케이스 그룹을 생성하는 옵션을 제공합니다. 그룹을 만드는 것은 docblock 속성 @group을 추가하는 것만 큼 간단합니다. MyTest 그룹에 테스트 케이스를 포함하겠습니다.
<?php
/**
* @group MyTest
*/
class Test_Model_Employee extends TestCase {
public function testInstanceOfEmployee() {
$this->assertInstanceOf(Model_Employee::class, new Model_Employee());
}
}
테스트 실행
디렉토리의 모든 테스트를 실행하려면 다음 명령을 사용하십시오.
$ php oil test
특정 테스트 그룹을 실행하려면 다음 명령을 사용하십시오.
$ php oil test --group = MyTest
명령을 실행하면 다음과 같은 응답을 받게됩니다.
Tests Running...This may take a few moments.
PHPUnit 5.1.3 by Sebastian Bergmann and contributors.
1 / 1 (100%).
Time: 123 ms, Memory: 8.00Mb
OK (1 test, 1 assertion)