В общем я знаком с JavaScript на не очень глубоком уровне.
Сейчас мне надо написать тесты для одной JavaScript библиотеки. Надо это сделать с помощью стэка qUnit + Karma + Grunt.
Хотя вместо Grunt можно использовать Gulp.
Вызвано тем, что именно это уже используется сейчас на проекте.
Раньше я писал тесты с помощью TestNG для Java проектов. Теперь вот надо осваивать JavaScript.
Практическая цель, которую я себе поставил: я написал несложную страницу:
https://learn-karma.gitlab.io/
в которой есть JS
и в нём три функции, которые я хочу покрыть тестами:
- calculate – это просто JS. Тест написать легко, я это уже умею.
- calculateAndPrint – это уже JS, который взаимодействует с DOM. Я представляю, как написать тест на чистом qUnit, но не могу понять, как это сделать с Karma? Потому что Karma открывает свой браузер и свою страницу – как мне сделать, чтобы Karma работала с моей HTML страницей?
- calculateAndSend – это JS и AJAX request. Как написать тест, который проверит, что отправляется правильный request? Приходят правильные данные?
Ещё вопросы:
- Я запускаю тесты с помощью “karma start”. И вначале приходится как-то настраивать зависимости через npm. Это мне не очень понятно. Нужно, чтобы мне пояснили как работают эти зависимости и как ими управлять через Grunt / Gulp. И как это дело можно прикрутить к какой-нибудь CI системе.
https://freelance.ru/projects/konsultaciya-nauchit-menya-ispolzovat-qunit-karma-910688.html
https://www.upwork.com/jobs/~0180d8389250d5b145