Единичен тест на Javascript

Имам приложение за javascript в рамките на 250 реда и искам да добавя тестове към него. Всеки път, когато направя малка промяна, трябва да стартирам тестове за най-малко 10 случая ръчно, които искам да автоматизирам.

Можех да избера рамки, както се предлага в различни публикации, но решението, което искам, е минимално триене и кодова база. Нещо като един файл за модулно тестване може да работи.

Има ли начин за използване на JS тестване без никакви рамки? Искам да напиша модулни тестове / функционални тестове и двете. Или ако Frameworks е единствената опция, кои рамки са предпочитани от гледна точка на лекотата на приставката спрямо съществуващия код + кривата на обучение.


person CodeMonkey    schedule 31.03.2015    source източник


Отговори (3)


наистина е трудно да се настроят автоматизирани модулни тестове с обикновен javascript без никаква рамка. ако се опитате сами да преоткриете колелото на съществуващата рамка за тестване на модули на javascript, това може да е огромно усилие от вашите 250 реда код, за които пишете тест.

така че ако търсите рамка, jasmine и qunitjs са обещаваща рамка за тестване на единици за javascript.

http://jasmine.github.io/

https://qunitjs.com/

person Alagesan Palani    schedule 31.03.2015

Рамките за тестване на единици са полезни, защото предоставят среди, които ще изпълняват тестовете и ще ви дават обратна връзка за тях. Да не използвате такъв би означавало да поемете изпълнението на тези отговорности върху себе си и би било много повече работа, отколкото звучи, че се опитвате да вършите.

Ако използвате възел, настройването на рамка за тестване на единици е много лесно. Харесва ми да използвам Karma като тестов инструмент с рамката за тестване на мока и библиотеката за утвърждаване на чай.

person Sam Jacobs    schedule 31.03.2015

Бих отишъл с рамка. Докато вашият случай на използване може да е прост сега, може да се окажете в проект, в който се нуждаете от повече функционалност в бъдеще. Трябва да сте запознати с поне една тестова рамка/библиотека за всеки език, който използвате сериозно. Същото важи и за системите за изграждане и управлението на пакети.

За javascript съм използвал само mocha. Той е доста изчерпателен, лесен за научаване, може да се използва в браузър или с възел, а тестовете всъщност изглеждат наистина чисти и лесни за четене.

Освен това с мока можете да изберете своя собствена библиотека с твърдения, аз използвам chai. Създаден е с оглед на tdd и bdd и кара писането на твърдения да се чувства по-скоро като писане на естествени изречения, отколкото на код. Разбира се, все още можете да използвате каквито и да е средства за твърдения по подразбиране, които ви предоставя вашата js среда, ако има такива.

person Michael B.    schedule 31.03.2015