나는 codeigniter 프레임 워크를 사용하고 있으며, 내 모델을 테스트하는 데 simpletest 프레임 워크를 사용하고 있습니다.CodeIgniter-Simpletest 단위 테스트 프레임 워크에서 모델을 특정 컨트롤러에 매핑하는 방법은 무엇입니까?
각 모델에는 자체 컨트롤러가 있습니다.
각 모델의 (웹 서비스 응답을 위해) 사용하는 대부분의 URL은 자체 컨트롤러 생성자에 언급되어 있습니다.
각 모델에 대해 simpletest를 실행하면 routes.php에 설정된 기본 컨트롤러에서 모든 URL을 가져옵니다. 예를 들어
: controller1 & 컨트롤러 2 그리고 두 가지 모델이 있습니다 :
고려할 수 있습니다
두 개의 컨트롤러가 모델 1 & 모델 2controller1이 모델 2에 매핑되는 & 컨트롤러 2를 MODEL1에 매핑되는
routes.php에서 내가 가지고있다
$route['default_controller'] = "controller1";
만약 내가 유닛 2를 테스트한다면 모델 2가 컨트롤러 2에 맵핑되어야하지만 은 컨트롤러 1에 매핑됩니다.
각 모델의 기본 컨트롤러를 동적으로 변경하는 방법이 있습니까? 아니면 간단 테스트 프레임 워크에서이를 지정하는 방법이 있습니까?
감사합니다.
단어 매핑을 사용하는 것이 유감 스럽습니다. 특정 컨트롤러가 해당 특정 모델 용이므로 단어 매핑을 사용했습니다. 예, 저는 이전에했던 방식대로 모델을로드했습니다. 하지만 여전히 simpletest를 사용할 때 routes.php에 정의 된 기본 컨트롤러에서 URL이 필요합니다. – Santhiya
흠, 여전히 완전히 이해하려고합니다. URL에서 올바른 컨트롤러에 액세스하는 데 문제가있는 것 같습니다. 기본 컨트롤러가 "controller1"이므로 루트 URL이 해당 컨트롤러 (http://www.yourdomain.com/)로 이동한다고 가정합니다. 이제 controller2에서 simpletest를 실행하려고합니다. controller2에 액세스하려고 시도하고있는 URL은 무엇입니까? http://www.yourdomain.com/controller2를 사용할 수 없습니까? – Thom
'url'은 도메인 url을 의미하지 않았습니다. 이들은 xml 형식의 데이터를 가져 오는 데 사용되는 webservice URL입니다. 각 컨트롤러는 자신의 데이터를 가져 오기위한 확실한 URL 집합을 가지고 있습니다. 이제 내 질문이 있습니다. 그리고 시간을 내 주셔서 고마워요. – Santhiya