Как проверить контроллеры с помощью CodeIgniter PART 2? - PullRequest
1 голос
/ 18 июля 2009

У меня проблемы с тестированием контроллеров в Codeigniter: Я использую Toast , но когда я вызываю свой класс Home Controller, я получаю исключение, что «db» не определено. Кто-нибудь знает, как проверить это 1-1?

Спасибо

class Home_tests extends Toast {


function  __construct() {
    parent::__construct(__FILE__);
// Load any models, libraries etc. you need here
}


function test_select_user() {
    $controller = new Home();
    $controller->getDbUser('foo@gmail.com','password');
    assert($query->num_rows() == 0 );
}
 }

Ответы [ 2 ]

8 голосов
/ 08 марта 2010

Как уже упоминалось, CI не позволяет вам вызывать контроллер с другого контроллера. Короткая причина в том, что контроллеры всегда создают заголовки ответа (даже если вы не загружаете какие-либо представления или не вызываете выходной класс), и вы не можете отправлять два набора заголовков HTTP в браузер.

Во время кодирования Тост я попытался взломать CI, чтобы разрешить это, но мне потребовалось очень много взломать Loader, и я пришел к выводу, что на самом деле не стоит вводить какую-то тяжелую логику ваши контролеры в любом случае. IMO, для правильной модульности MVC, эти вещи принадлежат вашим моделям, библиотекам и помощникам (которые могут быть проверены модульно с помощью Toast).

0 голосов
/ 18 июля 2009

Возможно, вам потребуется изменить настройки подключения к базе данных в ../system/application/config/database.php

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...