JavaScript Unit Testing Using Jasmine And Tools

787
-1

Published on

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
787
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
4
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

JavaScript Unit Testing Using Jasmine And Tools

  1. 1. JavaScript Unit testing using jasmine and tools
  2. 2. По месту исполнения кода Серверный JS Клиентский JS jasmine-node браузер?
  3. 3. jasmine-node1. npm install jasmine-node -g2. jasmine-node specs/ *-spec.jsможно обернуть запуск тестов в package.json
  4. 4. jasmine-node Хорошо Плохо1) Есть полезные опций: 1) Если dom - то лучше --autorun отказаться --junitreport 2) не все опции работают как хотелось бы
  5. 5. browser?Headless:1. zombie.js (эмуляция)2. PhantomJS (webkit)Real browser:3. jsTestDriver4. testacular5. selenium webdriver
  6. 6. headless1. zombie.js2. PhantomJS
  7. 7. zombie.js1. npm install zombie2. writing async tests using jasmine-node
  8. 8. zombie.js Хорошо Плохо1) fast 1) Just emulation...2) headless 2) using jasmine-node thanks, but no!
  9. 9. PhantomJS1. npm install phantomjs -g1. grunt-jasmine-runner2. phantom-jasmine
  10. 10. PhantomJS Хорошо Плохо1) fast 1) Все инструменты не очень2) headless комфортны для использования* Только WebKit*кроме testacular, но о нем позже
  11. 11. Browsers for real
  12. 12. jsTestDriver Хорошо Плохо1) Хорошая документация 1) Не на github2) Зрелая библиотека с 2) Говорят работает неустоявшимся API стабильно3) Отличная с IDE 3) Нужна JVM
  13. 13. Testacular1. npm install testacular@canary -g2. testacular init <config_name>3. testacular start <config_name>
  14. 14. Testacular Хорошо Плохо1) Все браузеры + phantomjs 1) Необходимо заранее2) Приличная документация продумывать разрешение3) Слежение за изменением зависимостей js файловфайлов4) Режим сервера/одинпрогон5) Легкая интеграция с IDE6) JUnit + code coverage
  15. 15. Selenium webdriver1. https://github.com/larrymyers/jasmine-reporters/tree/master/src ○ jasmine.junit_reporter.js (допиливаем)2. jasmine.getEnv().addReporter( new jasmine.JUnitXmlReporter(, false) );
  16. 16. Selenium webdriver3. спеки в листьяхhttp://jenkins.bizaccount.test:8081/tests-http://jenkins.bizaccount.test:8081/tests/profile4. selenium -> return jasmine.JUnitXmlReporter.output
  17. 17. Selenium webdriver Хорошо Плохо1) Универсально 1) Отностильно долгое время feedbackа2) Зависимости JS файлов 2) Нет кучи плюшек, в томрешаются на уровне числе, пока что coverageприложения3) Разработчики вообще незамарачиваютсяорганизацией тестирования
  18. 18. Заключение1. Если headless - то предпочтительнее PhantomJS2. Real Browser лучше3. testacular лучше
  19. 19. СсылкиСтатья содержит много полезных ссылок на почти все упомянутое: 1. http://anykeytocreate.blogspot.ru/2012/11/unittesting-for-javascript-environment.htmlJasmine: 2. http://pivotal.github.com/jasmine/Headless: 3. http://zombie.labnotes.org/ 4. http://phantomjs.org/Real Browsers: 5. http://code.google.com/p/js-test-driver/ 6. http://vojtajina.github.com/testacular/ 7. http://seleniumhq.org/docs/03_webdriver.jspПообсуждать в confluence 8. http://confluence.dvlp.2gis.local/pages/viewpage.action?pageId=104465152
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×