Я немного поработал с GAE и механизмом приложений.
BDD действительно является подходом к разработке, а не фреймворком, поэтому вы можете использовать любые существующие инструменты тестирования. Если вы счастливы перейти на Ruby для своих сценариев, вы всегда можете использовать Cucumber с веб-инструментом на основе Ruby по вашему выбору; в противном случае вы можете использовать свою платформу модульного тестирования и сделать себе небольшой DSL (версия C # этого просто для демонстрации принципов DSL BDD здесь ). Я, честно говоря, не могу вспомнить, какой подход мы использовали, но Twill выглядит интересно.
Для BDD на уровне единицы мы использовали pytest . Мы обернули код Google App Engine в нашу собственную абстракцию, чтобы мы могли ее смоделировать. Такой подход с самого начала казался излишним, но начал окупаться очень быстро; Подход BDD позволил нам отделить описания того, что мы делали, от того, что GAE делал для нас, что ускорило наше изучение и оценку GAE, а также помогло нам понять, что он не делал. Я не могу вспомнить, позволяет ли pytest запускать тесты с «следует»; мы могли бы начать их с «test_should».
Извините, это не более детально проработано. BDD больше связан с разговорами и мышлением вокруг обязанностей вашего кода, чем с выбором языка и технологии. Я надеюсь, что это вдохновляет и помогает вам.