Как далеко вы можете пойти с тестированием JavaScript? - PullRequest
3 голосов
/ 14 ноября 2011

Я немного проинформирован о TDD и BDD с Ruby / Rails, но в конечном итоге мне потребуется использовать некоторую форму тестирования с моим кодом JavaScript.Я использую MooTools в качестве JS-фреймворка, и мне очень нравится, как хорошо я могу организовать и модульно кодировать его с помощью его кодовой базы.Но иногда, когда я добавляю новые функции в свое приложение, я обнаруживаю, что функциональность может легко отличаться от того, как она работала раньше.

Когда речь идет о тестировании кода JavaScrtpt, само тестирование не отстает от взаимодействия с пользователем?Это действительно только для тестирования входов и выходов метода и (эмулируемых) классов в JavaScript?Или есть практика UX-тестирования, где вы можете написать модульные тесты, чтобы увидеть, работает ли UX-поведение вашего приложения так, как должно быть?Я знаю, что «поведение» - это широкий термин, но в любом случае вы можете организовать свои тесты JavaScript так, чтобы всякий раз, когда вы добавляете что-то новое, вы могли быть (несколько) уверены, что ваш новый код ничего не сломает раньше?Как это сделать с любым из более крупных веб-приложений?

1 Ответ

4 голосов
/ 14 ноября 2011

Совершенно нормально, принято и рекомендуется использовать каркасные модули тестирования, такие как JSSpec или Жасмин (есть много других).

Затем вы можете выполнить модульное тестирование пользовательского интерфейса, а иногда даже интеграционное тестирование с помощью таких инструментов, как Ghostbuster или Selenium . Это позволяет вам подделывать пользовательские события и взаимодействие.

Охотник за привидениями еще очень молод, поэтому мы не очень много знаем о «реальных» применениях, но Selenium является отраслевым стандартом (я знаю, что он используется в IBM, источник: учитель, работающий в IBM).

Однако, вы не можете автоматически проверить это UX . UX означает User eXperience, и это не то, что вы тестируете на программном обеспечении, только с помощью реального пользовательского тестирования.

...