Продвинутая литература по тестированию?

Добрый день.

Озадачился последнее время качеством своих тестов. Я пишу тесты. Модульные и функциональные. Пишу их много - примерно треть кода это тесты. Покрытие довольно хорошее и тесты реально помогают.

Но я чувствую, что говно мои тесты. У меня вызывает трудности ряд моментов. Например тестирование AR моделей, интеграционные тесты для приложений, чья архитектура завязана на очередях, тестирование хитрожопых событийно-ориентированых систем. Тесты есть, но они не стабильны и их сложно сопровождать. Много времени уходит на них.

Мне нужна литература (книги, статьи, примеры кода) откуда можно почерпнуть более детальное и глубокое понимание того, какими должны быть тесты. Мне не нежны публикации, рассказывающие о том, что такое TDD, как полезны тесты, и как тестоировать функцию x+y. Нужны best practice. Буду благодарен всем, кто поделится опытом.

Интересует теория в общем, но в первую очередь то, что касается php кода.
  • Вопрос задан
  • 4087 просмотров
Решения вопроса 2
@matperez
Как не смешно звучит, сам я эти книжки не читал, но, когда собирал подобную же вашей коллекцию, заметил, что их во многих местах рекомендовали безотносительно языка:
The-Art-Unit-Testing-examples
xUnit-Test-Patterns-Refactoring-Code
ActiveRecord нормально тестируется с помощью частичных моков. Даже запросы нормально тестируются, если их выносить в отдельный класс, а ActiveRecord::find() использовать только как фасад для получения инстанса нужно класса с запросами.
П.С. Поделитесь потом что нашли и что реально оказалось полезным.
П.П.С. А вот еще книжка хорошая The Clean Architecture in PHP. Она вроде бы не сложная, но очень хорошо описывает как можно IoC использовать, а это прямой путь к хорошим тестам.
Ответ написан
@SilverSlice
Real-World Solutions for Developing High-Quality PHP Frameworks and Applications. Один из авторов - создатель PHPUnit. Книга местами устарела, но кое-что, возможно, почерпнёте.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@ysaeredir
Мэтт Зандстра - Объекты, шаблоны и методики программирования
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы