젠드 프레임 워크를 사용하여 PHPUnit에 대한 몇 가지 예를 공부했지만 이해할 수없는 부분이 있습니다.젠드 프레임 워크를 사용하는 PHPUnit
대부분의 예제에서 응용 프로그램 부트 스트랩은 setUp()
메서드 안에있는 일종의 baseClass에서 실행됩니다.
왜 안 되니? __construct()
? 좋은 이유가 있습니까?
젠드 프레임 워크를 사용하여 PHPUnit에 대한 몇 가지 예를 공부했지만 이해할 수없는 부분이 있습니다.젠드 프레임 워크를 사용하는 PHPUnit
대부분의 예제에서 응용 프로그램 부트 스트랩은 setUp()
메서드 안에있는 일종의 baseClass에서 실행됩니다.
왜 안 되니? __construct()
? 좋은 이유가 있습니까?
그냥 기록을 위해, 나는 이것이 당신이 참조하는 코드의 콘크리트 조각 추측 : 단위 테스트에서
class ControllerTestCase extends Zend_Test_PHPUnit_ControllerTestCase
{
public $application;
public function setUp()
{
$this->application = new Zend_Application(
APPLICATION_ENV,
APPLICATION_PATH . '/config/settings.ini'
);
$this->bootstrap = array($this, 'bootstrap');
parent::setUp();
}
public function tearDown()
{
Zend_Controller_Front::getInstance()->resetInstance();
$this->resetRequest();
$this->resetResponse();
$this->request->setPost(array());
$this->request->setQuery(array());
}
public function bootstrap()
{
$this->application->bootstrap();
}
}
의 setUp
및 tearDown
방법은
알려진 상태로 세계를 설정하고 다음 원래 상태로 되돌립니다. w 암탉은 검사가 완료되었습니다. 이 알려진 상태를 픽스쳐 테스트라고합니다.
비품을 처리하는 방법은 xUnit 라이브러리마다 다를 수 있지만 개념은 동일합니다. phpunit을 설명서에 또한 fixtures chapter를 참조하십시오
phpunit을가 설정 코드를 공유를 지원합니다. 테스트 메소드가 실행되기 전에 템플릿 메소드 setuch()는 이 호출됩니다. setUp()은 테스트 대상 객체 인 을 생성하는 곳입니다. 테스트 방법에 이 완료되면 에 성공했는지 실패했는지에 관계없이 tearDown()이라는 다른 템플릿 메서드 이 호출됩니다. tearDown()은 테스트 한 객체 인 을 정리하는 곳입니다.
tearDown
각 실행 후 처리 동안
따라서 phpunit을는 전에 테스트 케이스 클래스에 포함되는 모든 단일 시험 방법을 setUp
방법을 실행 처리한다.
젠드 프레임 워크는 기능 테스트을 실행하기 위해 PHPUnit 위에 추가 레이어를 제공합니다. 이것은 소스 코드의 개별 단위가 아닌 기능에 대한 블랙 박스 테스트입니다. 이는 Zend_Test_PHPUnit_ControllerTestCase를 확장하여 애플리케이션 리소스에 대한 액세스가 보장되도록합니다.
이 특정 예에서 테스트 사례의 모든 테스트가 실행되기 전에 응용 프로그램이 부트 스트랩됩니다. 원시 단위 테스트 (다른 테스트 케이스의 일부)에서와 같이 어디에서나 응용 프로그램 자원이 필요 없다는 점을 고려하면 이는 의미가 있습니다.