• Как писать кошерные юнит тесты в symfony2 когда вся логика в контроллерах?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    юнит тесты - это тесты которые тестируют юниты (то есть подразумевается хоть какая-то степень изоляции, от полной (когда все замокано) до не очень полной (если мокать все не сильно удобно)).

    В случае с логикой контроллеров у вас инфраструктура и бизнес логика связаны сильно, потому ваш путь - функциональные и интеграционные тесты. (ибо на данном этапе вынести все в сервисы и изолировать не особо то получится за разумное время).

    По вашим пунктам - делайте так, как вам удобно. Ну то есть суть всего сводится к тому что бы с кодом вашего приложения было удобно работать. Тесты это способ упрощения внесения изменений в код. Если вам из-за тестов не удобно - надо придумать как сделать так что бы было удобно (либо у вас что-то не так с тестами либо с кодом, раз его не удобно тестить).
    Ответ написан
    2 комментария
  • Как сделать midleware в django, который меняет TEMPLATE_DIRS?

    @marazmiki
    Укротитель питонов
    Когда Вы делаете такие штуки, нужно иметь в виду, что объект settings глобален. Вот зайдёте Вы с мобильной версии, миддльварь сменит TEMPLATE_DIRS. А сразу же следом за Вами (пока джанга не успела начать рендерить шаблон) — кто-нибудь с компьютера. И значение TEMPLATE_DIRS вернётся в исходное.

    Ключевое слово для поиска решения — thread locals.
    Ответ написан
    9 комментариев