Покинул форум
Сообщений всего: 101
Дата рег-ции: Сент. 2010
Помог: 0 раз(а)
Здравствуйте. Проконсультируйте меня пожалуйста.
Пытаюсь освоить codeception.
Есть у меня проект на Yii2.
Есть модуль modules\sh. Там такая структура:
modules
-- sh
---- Module.php
---- controllers
---- modules
---- views
---- entities
------ hobby
-------- Hobby.php
---- codeception.yml
---- tests
------ unit
-------- entities
---------- hobby
------------ HobbyTest.php
если Вы тестируете создание модели, не думаю что от этого есть какой то толк,
т.е. new Model()
создали и что?
а вот наполнить, провалидировать и сохранить уже имеет смысл.
psevdo
Отправлено: 12 Октября, 2017 - 14:08:26
Гость
Покинул форум
Сообщений всего: 101
Дата рег-ции: Сент. 2010
если Вы тестируете создание модели, не думаю что от этого есть какой то толк,
т.е. new Model()
создали и что?
а вот наполнить, провалидировать и сохранить уже имеет смысл.
Спасибо за комментарий. Но моя цель сейчас просто разобраться с codeception. Поэтому написал самый простой тест. А он выдает ошибку, что не может найти класс. Поэтому и прошу помощи разобраться.
andrewkard
Отправлено: 12 Октября, 2017 - 14:41:40
Участник
Покинул форум
Сообщений всего: 1372
Дата рег-ции: Нояб. 2014
$this->specify('user should not be sign up',function() use ($model){
expect('empty form',$model->signup())->null();
});
}
psevdo
Отправлено: 12 Октября, 2017 - 14:54:03
Гость
Покинул форум
Сообщений всего: 101
Дата рег-ции: Сент. 2010
Помог: 0 раз(а)
Повторюсь, я хочу запустить тест моего модуля. Т.е. namespace там такой - namespace app\modules\sh\tests\unit\entities\hobby.
Запускать тесты модуля... Такое ведь возможно? В этом ведь нет ничего криминального.
А запускать пытаюсь командой vendor\bin\codecept run unit -c modules\sh. Опция -c нужна для того, чтобы codeception брал codeception.yml не из корня проекта, а из корня самого модуля.
Или правильнее запускать командой vendor\bin\codecept run unit? Но в таком случае будет подхватываться только codeception.yml, который находится в корне проекта. Как тогда подцепить такой же файл в корне модуля?
LIME
Отправлено: 12 Октября, 2017 - 14:59:23
Активный участник
Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010
Помог: 322 раз(а)
может autoload для require-dev не прописан?
psevdo
Отправлено: 12 Октября, 2017 - 15:03:06
Гость
Покинул форум
Сообщений всего: 101
Дата рег-ции: Сент. 2010
Помог: 0 раз(а)
LIME пишет:
может autoload для require-dev не прописан?
а где, как и куда его прописывать?
andrewkard
Отправлено: 12 Октября, 2017 - 15:14:30
Участник
Покинул форум
Сообщений всего: 1372
Дата рег-ции: Нояб. 2014
Изначально так и было. Класс не находился. Потом я попробовал в вызове класса прописать путь руками. Если не вызывать этот класс, то соответственно тест выполняется без ошибок.
andrewkard
Отправлено: 12 Октября, 2017 - 15:27:11
Участник
Покинул форум
Сообщений всего: 1372
Дата рег-ции: Нояб. 2014
Помог: 30 раз(а)
psevdo пишет:
Изначально так и было. Класс не находился
что то с неймспейсом
namespace modules\sh\tests\unit\entities\hobby;
так?
psevdo
Отправлено: 12 Октября, 2017 - 15:34:11
Гость
Покинул форум
Сообщений всего: 101
Дата рег-ции: Сент. 2010
Помог: 0 раз(а)
andrewkard пишет:
psevdo пишет:
Изначально так и было. Класс не находился
что то с неймспейсом
namespace modules\sh\tests\unit\entities\hobby;
так?
Верно. Файл расположен верно.
andrewkard
Отправлено: 12 Октября, 2017 - 15:38:50
Участник
Покинул форум
Сообщений всего: 1372
Дата рег-ции: Нояб. 2014
Помог: 30 раз(а)
psevdo пишет:
Верно.
?
поставили этот неймспейс
modules\sh\tests\unit\entities\hobby;
и
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.