Использование манго в модульном тесте в Кохане

0

Поэтому я переключу наше приложение на использование Mango, а не встроенный ORM в Кохане. Я включил весь необходимый код приложения для работы, как ожидалось, но когда наш сервер CI проходит через наши модульные тесты, я получаю ошибку "Class" Mango "not found".

Предоставленные тесты отключаются, но стиль, который я использую в UnitTest, точно так же, как я использую их в регулярном запросе GET. Он работает, когда я делаю GET, но unit тест терпит неудачу. Теперь, надеюсь, несвязанный, я не могу воспроизвести это локально, но не могу получить unit тест для работы на нашем CI-сервере.

Я предполагаю, что я не загружаю модуль правильно, но, как я уже сказал, он работает правильно в приложении, и только мои модульные тесты не работают (с FATAL ERROR).

application/classes/Model/User.php

class Model_User extends Mango {

    protected $_fields = array(
        'user_id'       => array('type' => 'string', 'required'=>TRUE),
        'first_name'    => array('type' => 'string', 'required'=>TRUE),
        'last_name'     => array('type' => 'string', 'required'=>TRUE),
    );
}

application/tests/UserTest.php

Class UserTest extends Unittest_TestCase
{
    public function testUserCreation()
    {
        $user_data = array(
            "user_id"       => "1234asdf",
            "first_name"    => "Test",
            "last_name"     => "User",
        );

        $new_user = Mango::factory("User", $user_data);

        $this->assertEquals($user_data, $new_user->as_array());
    }
}

EDIT: Здесь ссылка на модуль Mango, который я привел: https://github.com/Wouterrr/MangoDB

Теги:
continuous-integration
kohana

1 ответ

0
Лучший ответ

Если кто-то наткнется на это через Google, я решил проблему. Кажется, что наши приложения nginx config обрабатывают капитализацию более красиво, чем CLI. После изменения "Манго" на "манго" я увидел, что сообщение об ошибке изменилось, чтобы не найти его родительский класс (по тем же причинам). Хотя я предполагаю, что я мог бы просто изменить весь корпус, у Kohana есть функция для проблем с корпусом, поэтому в приложении /bootstrap.php вам просто нужно запустить оба из следующих:

spl_autoload_register(array('Kohana', 'auto_load'));
spl_autoload_register(array('Kohana', 'auto_load_lowercase'));

Ещё вопросы

Сообщество Overcoder
Наверх
Меню