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

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

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

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

Применение / классы / Модель / 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),
);
}

применение / тесты / 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());
}
}

РЕДАКТИРОВАТЬ: Вот ссылка на модуль Mango, который я принес: https://github.com/Wouterrr/MangoDB

0

Решение

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

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

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector