В третьей части моего обучающего руководства по тестированию я объясню, что такое покрытие кода и почему 100%-е покрытие кода не является обязательной целью. Но сначала поговорим о тестировании ваших частных/защищенных методов!
Автор: editor
Утверждения, написание настоящего теста и аннотация @dataProvider
В первой части этой серии статей я рассказал о первоначальной установке и конфигурации PHPUnit для нового проекта. Я рассказал о некоторых соглашениях, необходимых для работы PHPUnit, а также показал, как создать простой, глупый и бесполезный тест. Но этот тест познакомил вас с самым базовым утверждением PHPUnit — assertTrue().
Развертывание Symfony приложения на Ubuntu 14
В этом уроке будет рассказано, как вручную развертывать базовое приложение Symfony на сервере Ubuntu 14.04. Мы рассмотрим, как правильно конфигурировать сервер, учитывая при этом меры безопасности и эффективности, чтобы получить приложение, готовое для производства. Если вам нужен вводный урок по Symfony, вы можете почитать о том, как установить и запустить […]
Установка и использование Docker Compose на Ubuntu 14.04
Docker это отличный инструмент, но чтобы воспользоваться его преимуществами по полной, каждый компонент вашего приложения должен работать в своем собственном контейнере. Если у вас сложное приложение со множеством компонентов, то вам будет сложно делать так, чтобы все контейнеры запускались и закрывались вместе (не говоря уже о сообщении между ними). Сообщество […]
Как создать простую, но эффективную систему очереди сообщений
На протяжении последних нескольких месяцев перед нами стояла сложная задача, заключавшаяся в выполнении множества микро-услуг для тысяч запросов наиболее эффективным способом. Нашей первой мыслью было использовать Очередь (что намного лучше, чем создавать таблицу x-SQL со своими собственными статусами, датами создания, приоритетами и т.д.) — и оказались правы. Однако существует очень […]
Разбираемся с файлами /etc/profile и /etc/bashrc
Недавно я столкнулся со следующей проблемой: приложение не сохраняло настройку umask, заданную в профиле root-пользователя, или в файле /etc/profile. Немного разобравшись в вопросе, я понял, что приложение использует только ту настройку umask, которая задана в /etc/bashrc, не принимая даже те значения, которые являются его же собственными сценариями запуска. Немного изучив вопрос, я понял, […]
Руководство по модульному тестированию. Часть I. Введение в PHPUnit
Вот уже несколько месяцев я вынашиваю идею создания подробной серии статей, которая бы превратила новичка в области тестирования в опытного разработчика. Эта серия статей познакомит вас с основными понятиями в области тестирования. Вы поймете, почему статика это плохо, почему внедрение зависимости играет такую важную роль, какова разница между мок-объектом и […]
Как использовать JMeter для проведения нагрузочного тестирования и производительности вашего веб-приложения
Поскольку приложение JMeter представляет собой Java-приложение, его можно использовать для проведения нагрузочного тестирования любого веб-приложения, включая приложения, написанные на PHP, .NET и т.д. Изначально это приложение предназначалось для тестирования работы Apache Tomcat, который, по сути, представляет собой веб-сервер. С течением времени Jmeter постепенно развивался: пользовательский интерфейс совершенствовался, а также были […]
Базы данных SQL, NoSQL и различия в моделях баз данных
Сегодня довольно сложно представить себе какое-либо приложение, которое не использовало бы базы данных, будь то сервера, персональные компьютеры или мобильные устройства. От простых игр до серьезных бизнес приложений. Все они обрабатывают, читают и записывают определенный набор данных. Система управления базами данных (DBMS/СУБД) — программное обеспечение, предназначенное для хранения и управления […]
Настройка виртуальных хостов в Nginx на Ubuntu 14.04
Будем работать под учетной записью обычного пользователя с sudo правами. Так же вам понадобится установленный веб-сервер Nginx. При желании можно установить полностью LEMP (Linux, Nginx, MySQL и PHP). Чтобы установить Nginx достаточно выполнить следующую команду: sudo apt-get update sudo apt-get install nginx Прежде чем продолжить читать статью, настоятельно рекомендуем выполнить […]