Обновление версии Жасмина, используемой в карма-жасмине
Вопросы
Фон
Я установил 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.
Ответы
Ответ 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 - последний доступный).