2013-10-03 2 views
1

У меня есть настройки в основном, описанные здесь - http://karma-runner.github.io/0.8/plus/RequireJS.htmlКак отлаживать тесты с karma.js + require.js

Проблема заключается в том, что я не могу видеть исходные файлы моих тестов в Chrome Дев инструментов. Поэтому я не могу его отладить. Добавление debugger; работ, но это очень неудобно, практически непригодные для использования, так как я не могу просмотреть любой другой файл, кроме того, с debugger; в настоящее время уволено

Кажется, загрузочные файлы карма, анализировать их, завернуть каждый тест, а затем выгрузить файлы до запуска.

ответ

0

Если вам нужно глубоко отладить ваш тест, это, как правило, индикатор плохо организованного кода или плохо сделанного модульного теста. Если вы выполняете рабочий процесс TDD, принятие небольшого шага поможет вам предотвратить серьезную проблему с вашим кодом. Я категорически рекомендую вам смотреть это видео: http://blog.testdouble.com/posts/2013-10-03-javascript-testing-tactics.html?utm_source=javascriptweekly&utm_medium=email (он не использует Karma, но вы должны смотреть его на рабочий процесс/представленные принципы)

Затем, если вы действительно хотите отладить свой тестовый код, , Таким образом, вы должны настроить свой тест таким образом, чтобы его можно было запускать как в Карме, так и в браузере. Мы реализовали это для QUnit, Jasmine and Mocha on the Backbone-Boilerplate. Не стесняйтесь основываться на этих настройках, чтобы настроить свою собственную среду.

+0

thx, хороший ответ! Но я подожду какое-то время. Надеюсь, что есть решение для «кармы-бегунов», так как я не доволен идеей поддержания двух тестовых бегунов: 1) простой браузер-бегун и 2) карма-бегун – H1D

1

ng-boilerplate имеет встроенную сборку, которая поместит все ваши простые файлы js в каталог build для тестирования и отладки.

Посмотрите на Gruntfile и karma/karma-unit.tpl.js, как это делается.

Запуск grunt watch оставит ваш браузер в состоянии, позволяющем отлаживать все ваши тесты. Просто нажмите debug button, установите точки разрыва и перезагрузите страницу.

Внезапно вы отлаживаете любые или все ваши js-файлы.

Смежные вопросы