Жасмин с автоматическим тестированием jscoverage

Посмотрел jsunit и jcoverage demos здесь (нажмите ссылку на отчет о покрытии. Откройте это на новой вкладке).

Мне было интересно, сделал ли кто-нибудь что-нибудь подобное с Жасмином и АОoverage? Я немного не уверен, как действовать дальше.

[EDIT] Мне интересно, есть ли что-то, что я могу сделать с репортером жасмина. Мой пример "привет мир" в Jasmine ссылается на TrivialReporter. Может быть, это может быть расширено?

[EDIT] Сейчас я подключил js-test-runner с жасмином. Теперь, если бы я мог подумать о способе получения покрытия

Ответ 1

Если вы работаете над проектом ruby ​​и используете жасмин через jasmine-gem, у меня есть патч, который добавляет поддержку jscoverage [1].

Если вы используете bundler, вы можете использовать эту версию жасмина со следующей командой в Gemfile:

  gem 'jasmine',
    :git        => 'git://github.com/hjdivad/jasmine-gem',
    :submodules => true,
    :branch     => 'jscoverage'

Убедитесь, что вы загрузили jscoverage и это в $PATH.

Затем вы можете добавить следующее в jasmine.yml

coverage:
  enabled:    true
  encoding:   utf-8
  tmp_dir:    tmp
  report_dir: public/coverage
  skip_paths:
    - public/javascripts/vendor

Если это сработает для вас, вы можете захотеть высказаться по запросу на тягу [2], чтобы получить его или какую-то вариацию в собственно жасминовой жемчужине.

Ответ 2

Если вы не используете жасмин-камень или не хотите запускать сервер для проверки покрытия, я написал драгоценный камень, который объединяет jscoverage и jasmine. Он может запускаться как рейк-задача в ваших сборках CI.

Его можно найти здесь: https://github.com/firstbanco/jasmine-coverage

Установите его, затем просто запустите

bundle exec rake jasmine:coverage

Вы закончили.

EDIT: Как автор покрытия жасмина, я чувствую обязанность рассказать вам о лучшей альтернативе: teaspoon. Это требует большей настройки, но также позволяет работать в браузере, чтобы вы могли использовать отладчик Chrome.