Короткий вопрос: как вы следите за Test-Driven Development в проекте, который охватывает несколько языков?
В частности, я пишу веб-приложение, которое использует JavaScript и PHP, и я хочу следовать принципам TDD, но я не уверен, как их интегрировать. Запускаю ли я отдельные наборы тестов для разделов JS и PHP и использую макеты в комплекте JS для эмуляции ответов сервера? Есть ли методика для модульного тестирования обоих компонентов за один прогон?
Это мой первый опыт использования Test-Driven Development, поэтому любой совет, которым вы можете поделиться о том, как сделать его менее устрашающим, был бы полезен. Причина, по которой я выбрал это, заключается в том, что, как только я закончил создание прототипа, требования изменились, что заставило меня изменить свой дизайн. Я подумал, что если я начну все сначала, я бы хотел написать более расширяемый код со встроенным регрессионным тестированием с самого начала.
Я пишу свои тесты PHP в SimpleTest и мои тесты JavaScript в JsTestDriver. Я привык к объектно-ориентированным парадигмам, поэтому у меня есть несколько классов в PHP, и я делаю нечто подобное в JavaScript, используя наследование прототипов. Я также начал читать эту книгу о TDD в Python и эту книгу о TDD в JavaScript , но из всего, что я видел, они не описывают полное тестирование приложения (кроме использования чего-то вроде Selenium или другого веб-драйвера). выполнить приемочное тестирование переднего плана. Разве TDD просто не предназначен для разработчиков с полным стеком?