@yii2ru

Страница 260 из 1721
Olga
23.06.2017
07:14:49
подменить класс через dependency injection как раз таки можно
слушай, я поняла как это сделать без костылей. спасибо!

Vladislav
23.06.2017
07:17:00
расскажи

или ты все-таки депенденси инжекшн

Olga
23.06.2017
07:20:57
расскажи
да, через Dependency Injection Container. у меня этот сервис зарегистрирован как компонент в общем конфиге main.php (поэтому в любом случае, при реальном запуске и тестах, он всегда используется). я сейчас зарегистрирует реальный сервис в реальный конфиг (main-local.php), а мок подключу через тестовый конфиг (test-local.php)

Google
Vladislav
23.06.2017
07:23:45
?

M
23.06.2017
07:24:13
А я в тесты не умею и мне стыдно от этого сейчас(((

Vladislav
23.06.2017
07:26:50
ничего сложного же

M
23.06.2017
08:07:49
Как и с вёрсткой, ага. Только с BS3 могу что-то наковырять)))

https://explain.depesz.com/s/Ayu

ЖИЗНЬ БОЛЬ

Запрос-то написал, но вот он ппц тормоз

Павел
23.06.2017
08:11:55
Пропускай через профайлер ищи узкие места

M
23.06.2017
08:12:15
Так ссылку глянь, это итак профайлер)

Павел
23.06.2017
08:20:13
Уел ?

M
23.06.2017
09:35:21
ЧООООРТ

Сидел над SQL пыхтел) Нашел узкое место)

Иван
23.06.2017
09:52:12


Google
M
23.06.2017
10:04:16
По тому что content neognation так сработало.

Иван
23.06.2017
10:05:17
По тому что content neognation так сработало.
Разве браузер не запрашивает html?

M
23.06.2017
10:05:49
Разве браузер не запрашивает html?
Мой запрашивает, твой - не знаю. Смотри конфиги и отлаживай, я только лишь идею подкинул.

Иван
23.06.2017
10:17:11
Мой запрашивает, твой - не знаю. Смотри конфиги и отлаживай, я только лишь идею подкинул.
Ты прав ContentNegotiator знает только xml и json. В запросе посылался "Accept:text/html,application/xhtml+xml" , оно увидело xml и вернуло xml, всё вроде логично, но тогда почему апач мне возвращал html.

Иван
23.06.2017
10:22:19
Alexander
23.06.2017
10:44:12
http://rmcreative.ru/blog/post/yiiconf-2017--slaydy--foto-i-podkast

Павел
23.06.2017
10:49:00
Вот респект и уважуха!

M
23.06.2017
10:54:36
Оптимизировал запрос, +1 поинт в знанеие SQL

Павел
23.06.2017
11:08:02
Давай профайлер в студию

M
23.06.2017
11:20:27
Давай профайлер в студию
https://explain.depesz.com/s/exxe

Проект в проде, данные набираются. ХЗ как в будущем поведет себя запрос.

Alexander
23.06.2017
11:31:59
http://yiiframework.ru/news/166/auth-client-213-http-client-204-mongodb-214

M
23.06.2017
13:50:43
Коллеги, мне нужна ваша помощь. У меня есть проект который с железяками работает(да, на РНР, да сам в шоке почему другой ЯП не выбрал :) ), так вот он не покрыт тестами. Заказчик отправил доработки, но на прод что-то выкатывать не покрыв тестами не хочу, да и понятно, чем это закончится вероятно... Так вот проблема в том, что некоторые операции выполняются через консольные методы по крону, на которых завязано много логики. НО! Всё общее состояние системы хранится в БД, чтобы даже после рестарта сервера продолжить адекватно работать. ВОПРОС НА МУЛЬЁН Как это дерьмо покрыть тестами, конкретно сейчас надо API покрыть. Проблемы.... Ну у меня PHP крутится в докере, там же и крон дёргается. Надо как-то тестовое окружение что ли подготовить, где не будет крона, чтобы я смог сэмулировать некоторое состояние системы, а "демоны" не обломали меня. МБ сделать в консольных командах проверки на ENV_TEST. ХЗ чёт, СЛОЖНААА

Roman
23.06.2017
13:52:44
хох ? успехов тебе, приятель ?

Alexander
23.06.2017
13:56:04
отрефакторить слой для работы с API

чтобы пофиг было, откуда его запускать

и его уже тестить

M
23.06.2017
13:57:52
отрефакторить слой для работы с API
Там эти консольные команды состояние некоторых сущностей меняют, с которыми АПИ работает. Апи приложение и фронтенд у меня взаимодействуют с сервисом. Вероятно, надо все 3 части эти тестировать.

Google
Dmitriy
23.06.2017
14:00:11
для начало api и разделять это все на слои. Судя по тексту там все в коммандах

M
23.06.2017
14:00:36
Нет, не всё, команды с сервисом опять же взаимодействуют

Команды эти от железок информацию собирают и если выполняются какие-либо условия, то просят сервис сделать что-то

Итак, я нубас в тестах, поэтому буду вслух произносить, что делаю)) Для начала, логично, нужно настроить окружение тестовое. Как по уму "состояние" воспроизвести, фикстуры?

Вся БД лежит в миграциях, так что поднять структуру на тестовой бд - изи.

M
23.06.2017
14:06:12
Ну вдруг есть в край дурные методы_))

А где писать, yii migrate up?

я вот создал контейнер db-test, описал db компонент в common/config/test.php

Ау, есть кто?

Dmitriy
23.06.2017
14:28:14
А где писать, yii migrate up?
зачем ? что тестировать нужно то ? может лучше мокать ?

M
23.06.2017
14:29:06
зачем ? что тестировать нужно то ? может лучше мокать ?
Не, не лучше, наверное. Нужно апи протестировать и некоторые хитрые взаимодействия с ним.

Dmitriy
23.06.2017
14:29:37
Api свое ?

M
23.06.2017
14:33:15
Dmitriy
23.06.2017
14:35:35
Есть Yii::$app->runAction

для запуска миграций . если нужно

у нас все CI делает, но тестирование сложней и не на yii2

M
23.06.2017
14:36:22
Я миграции в php контейнере накатил вызвав ./yii_test migrate

Блин, тестирование слабо задокументированно чет.

Какой тип теста методы апи дёргает и смотрит состояние моделей, функциональный?

Google
Admin
ERROR: S client not available

M
23.06.2017
14:52:29
Стыдно(

Блин и как на зло все cms/cmf еле покрыты тестами, ппц

Sergey
23.06.2017
15:24:22
есть пользователи codeception 2.3 на php5?

у вас функциональные тесты на yii1 нормально работают?

Maxim
23.06.2017
15:45:15
присоединюсь к вопросу о тестах. есть unit тесты, которые тестят кусочки по отдельности. а теперь мне надо весь бизнес-процесс протестировать например прием заказа, отправка нотификации, создание поставки, её отсылка, выставление счета. куда копать? спасибо заранее :)

приложение НЕ web, т.е. взаимодействие с ним без браузера вообще.

Sergey
23.06.2017
15:46:45
функциональные тесты

Maxim
23.06.2017
15:50:39
а примерчик есть где-нибудь какой-нибудь? с чего начать то? :_

Sergey
23.06.2017
15:51:50
http://codeception.com/docs/04-FunctionalTests

Maxim
23.06.2017
15:57:53
`<?php $I = new FunctionalTester($scenario);` ругается Notice: Undefined variable: scenario in, что я забыл и где?

Юрий
23.06.2017
15:58:53
Переменную указать, разумеется

Maxim
23.06.2017
15:59:11
ну а что это за сценарий то? кто его указывает и где?

я сам называю?

киньте плиз простейшим примером функционального теста в codeception

Dmitriy
23.06.2017
16:09:02
https://github.com/yiisoft/yii2-app-basic/blob/master/tests/functional/ContactFormCest.php

Evgeny
23.06.2017
16:15:47
Народ, всем доброго пятничного вечера

Boris
23.06.2017
16:16:43
aloha

Evgeny
23.06.2017
16:18:09
если кто дружит с js/jq подскажите в какую сторону копать - вопрос про ajax. К примеру посылаю 3 запроса ajax/pjax. При каждом запросе показываю лаодер вместо кнопки (чтоб народ видел что че то происходит) Сервак че то там начинает отвечать. Как по ответам понять к какому именно запросу этот ответ? что бы выключить лаодер именно для кнопки в которую пришел ответ.

нужно найти где нить идентификатор запроса, а потом его увидеть в ответе

Google
Evgeny
23.06.2017
16:20:04
костыль стайл - в заголовке запроса передавать этот идентификатор, а потом чтоб контроллер его выкидывал обратно при ответе

Evgeny
23.06.2017
16:24:42


есть некий глобальный листенер который собирает все все все кнопки, автоматические скрипты и прочие штуки

и далеко не сразу во всех существующих кнопках появится вызов коллбека

Dmitry
23.06.2017
16:50:55
есть некий глобальный листенер который собирает все все все кнопки, автоматические скрипты и прочие штуки
В нем и обрабатывать теперь, это цена все эти унифицированные листенеры и прочие самосборщики

Evgeny
23.06.2017
17:57:42
1 форма - 1 запрос, другая - другой

Страница 260 из 1721