Возможности языка хоть и важны, но самого по себе этого мало. Надо просто паттерны знать необходимые, чтобы писать код, который легко тестировать.
При большом желании можно и в текущих условиях извратиться. Но.. проще клепать BDD шаги визуально.
В ванессе куда не ткнись попадешь в "да, но..."
Загружать эталонную базу можно? Да, но...
Актуализировать данные можно? Да, но...
Совмещать TDD и BDD можно? Да, но...
Тесты можно запускать на удаленном сервере? Да, но...