Подтвердить что ты не робот

QUnit Vs. Жасмин и TDD Vs. BDD

Я просматривал две библиотеки для выполнения модульных тестов на интерфейсе.

  • QUnit - http://qunitjs.com/

  • Жасмин - http://jasmine.github.io/

    • Жасмин явно больше сосредоточен на BDD, чем QUnit, хотя я мог видеть, как BDD с QUnit описывают тесты поведенческим образом. Оба они могут запускать утверждения на блоках кода, поэтому я думаю, что они оба являются модульными тестами. Является ли BDD взаимоисключающим от TDD или все это в том, как вы его пишете?

    • Требуется ли модульное тестирование, если вы проводите тестирование поведения? Похоже, что если вы охватываете все истории пользователей, вам не нужно знать детали проверяемых единиц.

    • Есть ли другие рамки тестирования, которые вам нравятся? Существуют ли другие тесты помимо модульных тестов, которые подходят для разработчиков в интерфейсе?

4b9b3361

Ответ 1

  • BDD и TDD не являются взаимоисключающими. См. сообщение Лиз Кеох

  • Тестирование поведения должно быть понятно субъектам бизнеса. Групповое тестирование обычно предназначено для понимания членами технической команды (разработчиками, тестировщиками и т.д.). Примеры того, как сделать модульные тесты более читабельными, вы должны посмотреть на GOOS (хотя примеры - это Java, а не Javascript).

    Кроме того, если вы попытаетесь охватить все тестовые пути с помощью BDD, ваши деловые люди будут скучать и перестать заботиться.

  • Посмотрите Cucumber-JS (порт огурец).

Ответ 2

Если вы смотрите на тесты, связанные с взаимодействием DOM, я бы посмотрел на pageboy.js. Это новый проект, который предоставляет доменный специфический язык (DSL) для взаимодействия DOM Javascript (немного похожий на Capybara, который используется в Cucumber в Ruby), который предназначен для того, чтобы сделать тестовый код более удобочитаемым.

Здесь больше на фоне этого DSL здесь.