Разные уровни абстракции. Можно выделить минимум 3 типа тестов:
1. модульные (они же unit) тесты
2. интеграционные - когда несколько модулей (unit'ов) тестируются вместе
3. функциональные - проверяется взаимодействие всех частей системы, полностью имитируются действия пользователя.
BDD не накладывает ограничений на типы тестирования в которых может использоваться. Я описал инструменты для unit и интеграционного тестирования. Более высокоуровневые инструменты js не сможет вам дать сейчас. Как минимум из-за ограничений браузеров. Хороший пример это история selenium - первая версия была написана на чистом js (сервер на java, а клиент на чистом js). Во второй версии selenium отказались от этой идеи и перешли к нативным драйверам для каждого браузера. Как раз из-за ограничений js. Погуглите например назличия в upload file в первом и втором селениумах.
Для имитаций действий пользователя Вы вполне сможете использовать selenium и ранить его через тот-же phpunit.
Ну и пару слов за BDD
BDD - это набор принципов, а не жестких требований, относящихся к стилю оформления тестов. Что еще интереснее - он основан на TDD en.wikipedia.org/wiki/Behavior-driven_development
BDD не накладывает ограничений на типы тестов в которых может примен и подходит для любой группы тестов.
TDD же в свою очередь также не накладывает ограничений на типы тестов. TDD лишь требует сперва писать тесты, а потом код. Поэтому если вы сперва пишете код - это не TDD, а просто тестирование :)
Написано
Войдите на сайт
Чтобы задать вопрос и получить на него квалифицированный ответ.
1. модульные (они же unit) тесты
2. интеграционные - когда несколько модулей (unit'ов) тестируются вместе
3. функциональные - проверяется взаимодействие всех частей системы, полностью имитируются действия пользователя.
BDD не накладывает ограничений на типы тестирования в которых может использоваться. Я описал инструменты для unit и интеграционного тестирования. Более высокоуровневые инструменты js не сможет вам дать сейчас. Как минимум из-за ограничений браузеров. Хороший пример это история selenium - первая версия была написана на чистом js (сервер на java, а клиент на чистом js). Во второй версии selenium отказались от этой идеи и перешли к нативным драйверам для каждого браузера. Как раз из-за ограничений js. Погуглите например назличия в upload file в первом и втором селениумах.
Для имитаций действий пользователя Вы вполне сможете использовать selenium и ранить его через тот-же phpunit.
Ну и пару слов за BDD
BDD - это набор принципов, а не жестких требований, относящихся к стилю оформления тестов. Что еще интереснее - он основан на TDD en.wikipedia.org/wiki/Behavior-driven_development
BDD не накладывает ограничений на типы тестов в которых может примен и подходит для любой группы тестов.
TDD же в свою очередь также не накладывает ограничений на типы тестов. TDD лишь требует сперва писать тесты, а потом код. Поэтому если вы сперва пишете код - это не TDD, а просто тестирование :)