Глава 7. Организация тестов
Одной из целей PHPUnit (см. Глава 2, Цели PHPUnit ) являются составные тесты: возможность запускать тест-кейсы в любом количестве и любой комбинации. Например, все тесты для проекта, тесты для всех...
View ArticleГлава 10. Тестовые макеты PHPUnit
Жерар Месзарос (Gerard Meszaros) представил новыую идею тестовых макетов (имитаций) в [Meszaros2007] следующим образом: Иногда очень сложно протестировать испытываемую систему, потому что она зависит...
View ArticleГлава 11. Практики тестирования PHPUnit
Всегда можно придумать достаточно много тестов. Однако скоро становится ясно, что только малая часть из тестов что вы можете вообразить, действительно полезны. Что вам нужно делать, так это писать...
View ArticlePHPUnit - Глава 12. Test-Driven Development
Модульные тесты это существенная часть таких процессов и практик разработки как тестирование до кода, экстремальное программирование , и разработка через тестирование . Кроме этого, они...
View ArticleГлава 13. Behaviour-Driven Development (Разработка через поведение, BDD)
В [Astels2006], Дейв Астелс (Dave Astels) отметил: В экстремальном программировании изначально было правило, тестировать всё что может сломаться. Сейчас, однако, практики тестирования в...
View ArticlePHPUnit — Глава 15. Другие использования тестов
Когда вы привыкнете писать тесты, вам будет любопытно найти и другие применения к ним. Ниже приведены несколько примеров. Документация Agile Обычно, в проекте, который разрабатывается по методологии...
View ArticlePHPUnit — Глава 16. Генератор каркаса
Генератор каркаса в PHPUnit это утилита, позволяющая создавать каркасы классов тестов исходя из рабочих классов и наоборот. Его можно установить с помощью следующей команды: pear install...
View ArticlePHPUnit — Приложение E. Перевод терминов
В этом файле содержится принятый в этой документации перевод терминов с английского на русский. Аннотация Annotation - аннотация (см. Приложение B, Аннотации ) Условие Constraint - условие...
View ArticleDoctrine2 — генерируем сущности из таблиц базы данных
Согласно документации (кстати, может изменяться), для того, чтобы сгенерировать сущности из таблицы базы данных, нужно выполнить 2 шага: 1. сгенерировать yml из DDL таблиц, командой: app/console...
View ArticleCode Style - как не надо писать код
Flattening Arrow Code - код в виде стрелки, является примером того, как не надо писать код (см. Arrow Anti-Pattern ), демонстрация: if if if if do something endif endif...
View ArticlePhpStorm autocomplete without DynamicReturnTypePlugin
Put the file ".phpstorm.meta.php" into root of your repository. Content of file .phpstorm.meta.php: <?php namespace PHPSTORM_META { override( \Container::get(0), map([])); } Where \Container::get -...
View ArticleИспользование Redis в PHP
Фактически, Redis для начинающих можно представить как Memcache с поддержкой списков и хранилищем на диске. Redis используется в виде базы данных, очереди, кэш-сервера или всего вышеперечисленного...
View ArticleВиртуальная память в Redis
Виртуальная память (в статье для ее обозначения также будет употребляться аббревиатура VM) впервые появилась в версии Redis 2.0, предоставив возможность хранить значения редко используемых ключей не в...
View ArticleНагрузочный тест с помощью Apache JMeter
Разработчики нередко пренебрегают нагрузочным тестированием веб-приложений и сайтов. Что в итоге приводит к тому, что выставленный в Интернете проект падает в течение первых же дней. Здесь не последнюю...
View ArticleТестируем веб-приложения
Тестировщики – это своеобразная совесть всего слаженного организма, который создает программные продукты. То есть тестирование предназначено для выявления несоответствий требованиям и ошибок различного...
View ArticleРанжирование в Sphinx
У Sphinx есть достаточно много режимов ранжирования и поиска. И само по себе устройство этих режимов вызывает поначалу множество различных вопросов. А все не так уж и сложно - сейчас мы попробуем...
View ArticleНегативные тест-кейсы: топ 10
Для чего нужны негативные тест кейсы, ясно видно из их названия. Они исследуют работоспособность приложения при вводе «неправильных» данных. Подобные исследования просто необходимы в ходе тестирования...
View ArticleНесколько сессий одновременно
Следующий пример демонстрирует работу с несколькими сессиями одновременно. <?php$currentSessions = $_COOKIE; function switchToSession($sessionName = 'PHPSESSID'){global...
View ArticleDateTime форматируя выдает ошибку Trailing Data
Б.д.: postgresql Поле в формате: timestamp without time zone SQL-запрос на тестовой б.д. возвращает: 2018-07-10 09:54:37.273327 SQL-запрос на боевой б.д. возвращает: 2018-07-10 09:54:37 Схемы таблиц на...
View ArticleLocale нюансы
В данной статье я покажу как работать с локалью — набором параметров, определяющий региональные настройки пользовательского интерфейса, такие как язык, страна, часовой пояс, набор символов и т. п....
View ArticleSoap и curl
До какого-то момента я пользовался программой SoapUI, программа интуитивно более-менее понятная, но как-то доказать факт того, что сторонний SOAP-сервер не возвращает данные, не представляется...
View Articleopcache - мои тесты
Как мы знаем, в пхп есть возможность кэшировать данны, для этого написаны следующие библиотеки. Apc - считается неподдерживаемым, библиотека делала 2 вещи: компилировала php-код в байт-код и давала...
View ArticleYii неприятные моменты
1. Собственные вендоры - зачем, ведь уже давно есть composer 2. Вендоры засериализованы - хочешь узнать кто создает объект класса, не получится, брейкпоинт не поставить, ведь объекты создаются...
View ArticlePDO нюансы
На этой странице буду собирать интересные нюансы работы Pdo.Подробнее … Комментировать »
View ArticleSymfony логирование
Установил версию 5.0.7 и разобрался как рабоет логирование, решил поделиться в виде конфига с комментариями. monolog: # список хедлеров, которые применяются согласно порядку в котором они описаны...
View Article
More Pages to Explore .....