Найдено 26 результатов

nds
2020.10.14, 10:33
Форум: Тестирование (Yii 2.x)
Тема: Дамп или не дамп
Ответы: 7
Просмотры: 16719

Re: Дамп или не дамп

ElisDN писал(а): 2020.10.13, 13:10 Здесь да, но я говорю про index. Сколько записей он вернёт в паджинации: 3, 4 или 2?
Понял, что имеете ввиду,
в таком случае вариант один, делать фикстуру UserIndexCaseFixture users_index_case_data.php.
nds
2020.10.13, 14:32
Форум: Тестирование (Yii 2.x)
Тема: Дамп или не дамп
Ответы: 7
Просмотры: 16719

Re: Дамп или не дамп

Вот проблема изоляци данных м/у тестами, что в БД, что в файлах фикстур как мне кажется одинаковый? Здесь да, но я говорю про index. Сколько записей он вернёт в паджинации: 3, 4 или 2? Для такого теста индекса я б добавил в users.php данные [ // для тестирования получения пользователей 'id' => 5, '...
nds
2020.10.13, 11:59
Форум: Тестирование (Yii 2.x)
Тема: Дамп или не дамп
Ответы: 7
Просмотры: 16719

Re: Дамп или не дамп

Поэтому в варианте с дампом могут быть проблемы, что изменения, записанные тестами для экшенов create, update и delete будут влиять на результат теста экшена index. Вот проблема изоляци данных м/у тестами, что в БД, что в файлах фикстур как мне кажется одинаковый? Например у меня есть UserFixture, ...
nds
2020.10.13, 11:30
Форум: Тестирование (Yii 2.x)
Тема: Дамп или не дамп
Ответы: 7
Просмотры: 16719

Re: Дамп или не дамп

Нужно создавать фикстуру которая будет уже от остальных 10 фикстур зависеть. В любом случае нужно создать 10 файлов фикстур + 10 файлов с данными для этих фикстур. Не проще ли через UI к БД надобавлять данных при этом так же соблюдая изоляцию данных для каждого кейса/теста? А ваши дампы вы хотите и...
nds
2020.10.12, 20:40
Форум: Тестирование (Yii 2.x)
Тема: Дамп или не дамп
Ответы: 7
Просмотры: 16719

Дамп или не дамп

Всем привет, вводим на проекте api тесты и встал вопрос наполнения БД данными. Варианта собтвенно два: 1) фикстуры, 2) дамп БД, который при старте тестов сбрасывается в начальное состояине. С дампом дела не имел, но был опыт работы с фикстурами на довольно крупном пректе - поддержка на фикстурах не ...
nds
2020.02.25, 17:23
Форум: Тестирование (Yii 2.x)
Тема: Ускорение API-тестов
Ответы: 3
Просмотры: 18636

Re: Ускорение API-тестов

В Codeception использовать REST с модулем Yii2 вместо PhpBrowser: modules: enabled: - REST: url: /api depends: Yii2 config: - Yii2 Дмитрий, перестала работать проверка заголовков ApiTester::seeHttpHeader('Content-Type', ...). В ApiTester::grabHttpHeader всегда NULL, при этом ApiTester::grabResponse...
nds
2020.02.21, 23:47
Форум: Тестирование (Yii 2.x)
Тема: Ускорение API-тестов
Ответы: 3
Просмотры: 18636

Re: Ускорение API-тестов

ElisDN писал(а): 2020.02.21, 13:24 В Codeception использовать REST с модулем Yii2 вместо PhpBrowser:

Код: Выделить всё

modules:
    enabled:
        - REST:
            url: /api
            depends: Yii2
        - \ApiBundle\Helper\Api
    config:
        - Yii2
Дмитрий, спасибо! это то что нужно
nds
2020.02.21, 11:43
Форум: Тестирование (Yii 2.x)
Тема: Ускорение API-тестов
Ответы: 3
Просмотры: 18636

Ускорение API-тестов

На данный момент на проекте API тестирование проходит стандартным путем: три docker контейнера nginx, php, postgres. Старт тестов происходит при каждом МР запросе и нужно подождать порядка 7 минут для полного прогона(а это 650 тестов). Возникла идея исключить nginx из этой цепочки, а codeception, ка...
nds
2020.01.20, 19:07
Форум: Тестирование (Yii 2.x)
Тема: globalFixture в ApiTester
Ответы: 0
Просмотры: 8284

globalFixture в ApiTester

Использую codeception с модулем Yii2 для тестирования api. В каждом тесте прописаны методы _fixtures(), все работает, все прекрасно. Но вот возникла необходимость в создании глобальной фикстры для всего теста, т.е. globalFixtures(), но такой метод не поддерживается ApiTester - ом. Как решить данную ...
nds
2020.01.09, 00:59
Форум: Общие вопросы по программированию
Тема: ActiveRecord vs DataMapper
Ответы: 24
Просмотры: 10007

Re: ActiveRecord vs DataMapper

может получиться что на разные контексты используется один класс AR Я с запозданием, но все же). Про контексты немного не понял. Можно простой пример такой ситуации? Я попробую предположить, если не прав - поправьте: допустим имеется некая организация X, которая продает продукт N, и в контексте вза...
nds
2020.01.01, 14:26
Форум: Общие вопросы по программированию
Тема: ActiveRecord vs DataMapper
Ответы: 24
Просмотры: 10007

Re: ActiveRecord vs DataMapper

со слоистой архитектурой сущности не могут наследоваться от классов фреймворка Собственнно вопрос почти об этом, а точнее чем это черевато. Конечно, это нарушение направленности зависимостей, но к чему это может привести, если тот же yii-шный ActiveRecord я могу использовать по прямому назначению и...
nds
2019.12.30, 16:44
Форум: Общие вопросы по программированию
Тема: ActiveRecord vs DataMapper
Ответы: 24
Просмотры: 10007

ActiveRecord vs DataMapper

Разбираясь с ActiveRecord и DataMapper столкнулся неким недопониманием(возможно в силу малого опыта), а именно не могу найти ключевых критериев по которым я бы выбрал тот или иной подход. Во многих статьях (в том числе и англо.) дается сухое описание типо: 1. AR это нарушение первого принципа SOLID;...
nds
2019.12.18, 17:52
Форум: Общие вопросы (Yii 2.x)
Тема: Валидация вложенных структур
Ответы: 3
Просмотры: 914

Re: Валидация вложенных структур

не пойдет, данный код спокойно пропустит такую структуру:

Код: Выделить всё

$input = [
	'arr' => [
		[ 'itemKey' => '' ],
		[ 'itemKey' => '' ],
	]
];
и такую:

Код: Выделить всё

$input = [
	'arr' => [
		[],
		[],
	]
];
а нужно проверить на required значение по пути: arr.*.itemKey, где * - любой элемент массива
nds
2019.12.18, 11:28
Форум: Общие вопросы (Yii 2.x)
Тема: Валидация вложенных структур
Ответы: 3
Просмотры: 914

Валидация вложенных структур

Например нужно провалидировать данные вида: $input = [ 'freeKey' => 'freeData', 'checkedKey' => [ [ 'itemKey' => 22 ], [ 'itemKey' => 45 ], // ... ], ]; в других фреймворках встречал нечто подобное на эту тему: public function rules() { return [ [ 'checkedKey.*.itemKey', 'required' ], ]; } Имеется л...
nds
2019.11.18, 17:38
Форум: Тестирование (Yii 2.x)
Тема: Тестирование API
Ответы: 5
Просмотры: 5195

Re: Тестирование API

Извиняюсь, внимательно вчитался в вопрос)), у меня немного другое
nds
2019.11.18, 17:35
Форум: Тестирование (Yii 2.x)
Тема: Тестирование API
Ответы: 5
Просмотры: 5195

Re: Тестирование API

Здравствуйте, У меня в api часть метода взаимодействует со сторонними api. Как можно подменить эти методы если в тестах отправляются только запросы? Можно поподробней, что имеется ввиду? Возможно у меня такая же проблема: есть API-метод, который использует компонент VKApiClient, и при прогоне тесто...
nds
2019.11.12, 14:27
Форум: Тестирование (Yii 2.x)
Тема: не проходит API тест
Ответы: 6
Просмотры: 6053

Re: не проходит API тест

проблема была совсем детская: в кофиге приложения компонент 'db' подключался через require_once и соответственно при вызове второго метода теста в db был true. Поменял на require все заработало
nds
2019.11.11, 18:42
Форум: Тестирование (Yii 2.x)
Тема: не проходит API тест
Ответы: 6
Просмотры: 6053

Re: не проходит API тест

Обновил codeception/base до 2.4.5 и предыдущая ошибка пропала. Теперь новая проблема. Для наглядности убрал весь код из методов(запуск теста произвожу так же без кода в методах): <?php namespace tests\auth; use tests\ApiTester; class EmailLoginCest { public function testLogin(ApiTester $I) { } publi...
nds
2019.11.11, 16:07
Форум: Тестирование (Yii 2.x)
Тема: не проходит API тест
Ответы: 6
Просмотры: 6053

Re: не проходит API тест

vendor/bin/codecept run acceptance --debug -c yourTest Поможет увидеть более детально что не так с тестом. Codeception PHP Testing Framework v2.4.4 Powered by PHPUnit 6.5.14 by Sebastian Bergmann and contributors. Tests.api Tests (2) -----------------------------------------------------------------...
nds
2019.11.11, 15:02
Форум: Тестирование (Yii 2.x)
Тема: не проходит API тест
Ответы: 6
Просмотры: 6053

не проходит API тест

Имеется Api тест: <?php namespace tests\auth; use app\fixtures\UserProfileFixture; use tests\ApiTester; use Codeception\Util\HttpCode; class EmailLoginCest { const URL = '/v1/auth/email-login'; const LOGIN = 'email@example.com'; /** @see <app_path>/fixtures/data/user_profile.php */ const PASSWORD = ...