젠드 프레임 워크와 PHPUnit을 처음 사용했습니다. 레거시 애플리케이션을 MVC 아키텍처로 변환하고 단위 테스트를 작성하려고합니다. 나는 단위 테스트 개념에 다소 익숙하지만 일반적으로 스터 빙과 조롱으로 붙어있다. 예를 들어, 다음을 고려하십시오.젠드 프레임 워크 애플리케이션에서 PHPUnit 스텁 및 조롱
컨트롤러 조치에서 회원 ID를 전달했는지 테스트하려고합니다. 그런 다음 ID를 사용하여 멤버 개체를 초기화합니다. 그런 다음 멤버 개체와 관련된 여러 메서드를 호출하고 반환 값을 뷰 개체에 할당합니다.
class A extends Zend_Controller_Action {
public function viewAction() {
$member = new Member($this->getRequest()-> getParam('id'));
//perform various calls on the member object
$gender = $member->getGender();
...
//assign the return values to the view object
$this->view->assign('gender',$gender);
...
}
}
테스트에서 $ member 변수를 모의 해 메소드 반환 값을 사용자 정의 할 수 있습니까?
여기 내 이해가 잘못된 경우 몇 가지 지침을 크게 부탁드립니다.
감사합니다.
@markus가 아래에 말하는 것 이외에; 이것이 내가 단위 테스트 컨트롤러를 중단 한 이유이며 가능한 많은 로직을 제 모델로 옮겨야했습니다. 결과적으로 필자는 현재 매우 마른 컨트롤러와 매우 뚱뚱한 모델을 사용하여 코드를 개선하고 드라이 클리닝을 유지합니다. – vascowhite
그게 내가하려고하는 일입니다. 이 경우 컨트롤러를 테스트하지 않아도됩니까? (모델에서 결과를 얻고 뷰 변수에 할당하는 것으로 가정합니다.) – Satyam
네, 좋은 점, 린 컨트롤러가 목표입니다! 나는 그것을 내 대답에 포함시킬 것이다. – markus