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

Обновление версии Жасмина, используемой в карма-жасмине

Вопросы

Фон

Я установил Karma и karma-jasmine используя Yeoman следующим образом:

$ npm install -g generator-angular
$ mkdir myapp && cd $_
$ yo angular

Учитывая, что myapp/bower.json не перечислял Jasmine как один из Bower установил интерфейсные пакеты, но myapp/karma.conf.js перечислил Jasmine в качестве платформы тестирования по умолчанию, я был удивил, что команда grunt test работает. (Gruntfile.js, bower.json и karma.conf.js все файлы были созданы как часть процесса yo angular.)

При ближайшем рассмотрении пакетов myapp/node_modules я понял, что karma-jasmine не указывает на отдельную установку Jasmine. Плагин karma-jasmine фактически устанавливает Jasmine:

▼ myapp/
  ▼ karma_jasmine/
    ▼ lib/
        adapter.js
        index.js
        jasmine.js

Учитывая, что karma-jasmine говорит, что это" адаптер для Jasmine, "я был немного удивлен, что karma-jasmine не требовал установки Jasmine отдельно.

Версии пакетов

Ниже приведены различные версии пакетов:

  • Karma: "~ 0.10.8" за myapp/package.json содержимое
  • karma-jasmine: "~ 0.1.4" за myapp/package.json содержимое
  • Yeoman: "1.0.6" за npm list -g | grep yo результаты команды
  • Jasmine: Неизвестно, но на основе нескольких различий, мне почти интересно, если karma-jasmine включает настраиваемую версию Jasmine для работы с Karma.
4b9b3361

Ответ 1

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

describe('Test to print out jasmine version', function() {
  it('prints jasmine version', function() {
    console.log('jasmine-version:');
    console.log(jasmine.version || (jasmine.getEnv().versionString && jasmine.getEnv().versionString()));
  });
});

а затем проверьте вывод кармы в консоли или в браузере. Это должно быть что-то вроде:

LOG: 'jasmine-version:'
LOG: '2.3.4'

Библиотека жасминов включена в плагин jasmine-runner, как вы уже узнали. Вы можете найти точное место, где этот файл загружен в исходный код плагина: https://github.com/karma-runner/karma-jasmine/blob/master/lib/index.js (строка 7)

Вы можете попробовать изменить плагин, чтобы можно было выполнить обновление и отправить запрос на перенос в карму (см. http://karma-runner.github.io/0.10/dev/contributing.html)

Ответ 2

Это лучший вариант придерживаться версии жасмина в карма-жасмине и обновлять весь пакет. Вы можете использовать следующую команду для получения версии всех установленных пакетов:

  npm ls

Чтобы получить версию установленных глобальных пакетов:

  npm ls -g

Чтобы просмотреть последнюю версию, доступную на CDN, используйте:

  npm view karma-jasmine version

Перед обновлением вы можете просмотреть все версии на CDN, используя:

  npm view karma-jasmine versions

Чтобы установить определенную версию:

  npm install [email protected]~0.2.2 

(0.2.2 - последний доступный).