• Правильно ли я пишу моки?

    index0h
    @index0h
    PHP, Golang. https://github.com/index0h
    крофьИзГлаз.jpg

    Вы не задумывались, почему в моках можно подменять методы, а не свойства?

    Основной смысл мока в том, что вы можете задать и проконтролировать его поведение.

    1. Прочитайте про PSR, не плодите каку.
    2. Моки имеет смысл делать без конструктора И прописывать заглушки под вызываемые методы.
    3. Методы, что не должны быть вызваны - тоже заменяются заглушками, но в expects заганяете never.
    4. Старайтесь не использовать статику, на сколько это возможно. Тестировать ее возможно только косвенно.
    5. Старайтесь соблюдать SOLID. В вашем примере может это конечно неудачное название, но ивент как правило - это некий скоп данных, не стоит обременять его логикой.
    6. Работа с бд в ActiveRecord может и удобная, на для тестов - эт говно, сточки зрения безопасности и расширения - увы, тоже. Конкретно в вашем случае создайте отдельный метод, который будет обновлять ваш идентификатор, напишите тест для него который будет работать с БД. Для ивента вам стоит проверять только тот факт, что метод вызвался с корректными данными.
    Ответ написан
    Комментировать
  • Что нужно знать, чтобы круто писать тесты на php для Symfony, Yii используя codeception?

    С Codeception можно писать тесты в процедурном стиле, можно в объектном. Доки по кодцепшну описывают в основном процедурный подход, а про объектный там есть отдельный раздел Advanced Usage. Так вот на практике адекватные тесты, которыми удобно пользоваться, получается написать именно с помощью Cest Classes. Рекомендую разобраться с классами, тогда прозрачно будете видеть, на чем именно завалились тесты.
    Ответ написан
    Комментировать
  • Этот блок по бему сделан?

    Нет. Модификаторы не используются отдельно от элемента. И там вообще это отдельные элементы, а не модификаторы.
    А сам informers__item как отдельный блок. Получится куда чище.
    Например:
    <div class="informers">
        <div class="informer">
            <span class="informer__text">Нас уже</span>
            <span class="informer__number">101</span>
        </div>
        <div class="informer">
            <span class="informer__text">Вопросов</span>
            <span class="informer__number">79</span>
        </div>
        <div class="informer">
            <span class="informer__text">Решений</span>
            <span class="informer__number">34</span>
        </div>
    </div>
    Ответ написан
    Комментировать