Павел
Пропускай через профайлер ищи узкие места
mr.
Так ссылку глянь, это итак профайлер)
Павел
Уел 😁
mr.
ЧООООРТ
mr.
Сидел над SQL пыхтел) Нашел узкое место)
Ivan
Перешел с апача на nginx все работает, только почему-то код ошибки в браузере отображает в xml, а на апаче выдавал нормальную html страничку. Попробовал добавить компонент errorHandler не помогло
mr.
Ivan
Roman
Roman
Ivan
Alexander
http://rmcreative.ru/blog/post/yiiconf-2017--slaydy--foto-i-podkast
Павел
Вот респект и уважуха!
Павел
mr.
Оптимизировал запрос, +1 поинт в знанеие SQL
Павел
Давай профайлер в студию
mr.
Проект в проде, данные набираются. ХЗ как в будущем поведет себя запрос.
Alexander
http://yiiframework.ru/news/166/auth-client-213-http-client-204-mongodb-214
mr.
Коллеги, мне нужна ваша помощь.
У меня есть проект который с железяками работает(да, на РНР, да сам в шоке почему другой ЯП не выбрал :) ), так вот он не покрыт тестами.
Заказчик отправил доработки, но на прод что-то выкатывать не покрыв тестами не хочу, да и понятно, чем это закончится вероятно...
Так вот проблема в том, что некоторые операции выполняются через консольные методы по крону, на которых завязано много логики.
НО! Всё общее состояние системы хранится в БД, чтобы даже после рестарта сервера продолжить адекватно работать.
ВОПРОС НА МУЛЬЁН
Как это дерьмо покрыть тестами, конкретно сейчас надо API покрыть.
Проблемы.... Ну у меня PHP крутится в докере, там же и крон дёргается. Надо как-то тестовое окружение что ли подготовить, где не будет крона, чтобы я смог сэмулировать некоторое состояние системы, а "демоны" не обломали меня.
МБ сделать в консольных командах проверки на ENV_TEST.
ХЗ чёт, СЛОЖНААА
mr.
Roman
хох 😊 успехов тебе, приятель 😊
Alexander
отрефакторить слой для работы с API
Alexander
чтобы пофиг было, откуда его запускать
Alexander
и его уже тестить
mr.
отрефакторить слой для работы с API
Там эти консольные команды состояние некоторых сущностей меняют, с которыми АПИ работает.
Апи приложение и фронтенд у меня взаимодействуют с сервисом.
Вероятно, надо все 3 части эти тестировать.
Dmitriy
для начало api и разделять это все на слои. Судя по тексту там все в коммандах
mr.
Нет, не всё, команды с сервисом опять же взаимодействуют
mr.
Команды эти от железок информацию собирают и если выполняются какие-либо условия, то просят сервис сделать что-то
mr.
Итак, я нубас в тестах, поэтому буду вслух произносить, что делаю)) Для начала, логично, нужно настроить окружение тестовое.
Как по уму "состояние" воспроизвести, фикстуры?
mr.
Вся БД лежит в миграциях, так что поднять структуру на тестовой бд - изи.
Dmitriy
mr.
Ну вдруг есть в край дурные методы_))
mr.
А где писать, yii migrate up?
mr.
я вот создал контейнер db-test, описал db компонент в common/config/test.php
mr.
Ау, есть кто?
Dmitriy
Api свое ?
mr.
Dmitriy
Есть Yii::$app->runAction
Dmitriy
для запуска миграций . если нужно
Dmitriy
у нас все CI делает, но тестирование сложней и не на yii2
mr.
Я миграции в php контейнере накатил вызвав ./yii_test migrate
mr.
Блин, тестирование слабо задокументированно чет.
mr.
Какой тип теста методы апи дёргает и смотрит состояние моделей, функциональный?
mr.
Стыдно(
mr.
Блин и как на зло все cms/cmf еле покрыты тестами, ппц
Sergey
есть пользователи codeception 2.3 на php5?
Sergey
у вас функциональные тесты на yii1 нормально работают?
Maxim
присоединюсь к вопросу о тестах.
есть unit тесты, которые тестят кусочки по отдельности.
а теперь мне надо весь бизнес-процесс протестировать
например прием заказа, отправка нотификации, создание поставки, её отсылка, выставление счета.
куда копать? спасибо заранее :)
Maxim
приложение НЕ web, т.е. взаимодействие с ним без браузера вообще.
Sergey
функциональные тесты
Maxim
а примерчик есть где-нибудь какой-нибудь? с чего начать то? :_
Sergey
http://codeception.com/docs/04-FunctionalTests
Maxim
`<?php
$I = new FunctionalTester($scenario);`
ругается
Notice: Undefined variable: scenario in, что я забыл и где?
Юрий
Переменную указать, разумеется
Maxim
ну а что это за сценарий то? кто его указывает и где?
Maxim
я сам называю?
Maxim
киньте плиз простейшим примером функционального теста в codeception
Dmitriy
https://github.com/yiisoft/yii2-app-basic/blob/master/tests/functional/ContactFormCest.php
Evgeny
Народ, всем доброго пятничного вечера
Borys
aloha
Evgeny
если кто дружит с js/jq подскажите в какую сторону копать - вопрос про ajax.
К примеру посылаю 3 запроса ajax/pjax.
При каждом запросе показываю лаодер вместо кнопки (чтоб народ видел что че то происходит)
Сервак че то там начинает отвечать. Как по ответам понять к какому именно запросу этот ответ? что бы выключить лаодер именно для кнопки в которую пришел ответ.
Evgeny
нужно найти где нить идентификатор запроса, а потом его увидеть в ответе
Evgeny
костыль стайл - в заголовке запроса передавать этот идентификатор, а потом чтоб контроллер его выкидывал обратно при ответе
Sergey
Sergey
сохраняй кнопку на которую нажали и убирай анимацию только у неё
Evgeny
Evgeny
есть некий глобальный листенер
который собирает все все все кнопки, автоматические скрипты и прочие штуки
Evgeny
и далеко не сразу во всех существующих кнопках появится вызов коллбека
☕️
Sergey
Evgeny
1 форма - 1 запрос, другая - другой
Sergey
нет, ты говоришь что callback нету, смысл тогда ajax слать если ты результат не обрабатываешь
Sergey
короче привиди минимальный код который у тебя обрабатываешь нажатие, показывает анимацию и вызывает ajax
@Evgeniia
@Evgeniia
Добрый вечер. Я достаточно долго ищу фулстэк,многие не проходят тест . такое ощущение ,что он слишком сложный