Коротке запитання: як слідкувати за тестовою розробкою проекту, який охоплює кілька мов?
Зокрема, я пишу веб-додаток, що використовує JavaScript та PHP, і я хочу слідувати принципам TDD, але не знаю, як їх інтегрувати. Чи запускаю окремі тестові набори для розділів JS та PHP і використовую макети в наборі JS для імітації відповідей сервера? Чи існує методика одиничного тестування обох компонентів за один пробіг?
Це мій перший досвід використання тестово-керованої розробки, тому будь-які поради, якими ви можете поділитися щодо того, як зробити його менш страшним, були б чудовими. Причина, яку я вибрав, полягає в тому, що як тільки я закінчив прототип, вимоги змінилися, що змусило мене змінити дизайн. Я подумав, що якщо я починаю з початку, я хотів би написати ще розширюваний код із вбудованим тестом регресії з самого початку.
Я пишу свої тести на PHP в SimpleTest, а тести на JavaScript в JsTestDriver. Я звик до об'єктно-орієнтованих парадигм, тому у мене є кілька класів у PHP, і я роблю щось подібне в JavaScript, використовуючи прототипне успадкування. Я також почав читати цю книгу про TDD в Python і цю про TDD в JavaScript , але, з усього, що я бачив, вони не описують тестування програми в повному обсязі (за винятком використання чогось на зразок Selenium чи іншого веб-драйвера для того, щоб провести тестування приймання на передньому рівні. Чи просто TDD не вирізаний для розробників повних стеків?