JavaScript Unit testing    using jasmine and tools
По месту исполнения кода  Серверный JS     Клиентский JS    jasmine-node     браузер?
jasmine-node1. npm install jasmine-node -g2. jasmine-node specs/                        *-spec.jsможно обернуть запуск тес...
jasmine-node       Хорошо                   Плохо1) Есть полезные опций: 1) Если dom - то лучше   --autorun            отк...
browser?Headless:1. zombie.js (эмуляция)2. PhantomJS (webkit)Real browser:3. jsTestDriver4. testacular5. selenium webdriver
headless1. zombie.js2. PhantomJS
zombie.js1. npm install zombie2. writing async tests using jasmine-node
zombie.js       Хорошо                     Плохо1) fast                 1) Just emulation...2) headless             2) usi...
PhantomJS1. npm install phantomjs -g1. grunt-jasmine-runner2. phantom-jasmine
PhantomJS       Хорошо                       Плохо1) fast                 1) Все инструменты не очень2) headless          ...
Browsers for real
jsTestDriver        Хорошо                      Плохо1) Хорошая документация   1) Не на github2) Зрелая библиотека с    2)...
Testacular1. npm install testacular@canary -g2. testacular init <config_name>3. testacular start <config_name>
Testacular         Хорошо                        Плохо1) Все браузеры + phantomjs   1) Необходимо заранее2) Приличная доку...
Selenium webdriver1. https://github.com/larrymyers/jasmine-reporters/tree/master/src     ○   jasmine.junit_reporter.js (до...
Selenium webdriver3.   спеки в листьяхhttp://jenkins.bizaccount.test:8081/tests-http://jenkins.bizaccount.test:8081/tests/...
Selenium webdriver         Хорошо                       Плохо1) Универсально             1) Отностильно долгое время      ...
Заключение1. Если headless - то предпочтительнее   PhantomJS2. Real Browser лучше3. testacular лучше
СсылкиСтатья содержит много полезных ссылок на почти все упомянутое: 1.   http://anykeytocreate.blogspot.ru/2012/11/unitte...
Upcoming SlideShare
Loading in...5
×

JavaScript Unit Testing Using Jasmine And Tools

760

Published on

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

No Downloads
Views
Total Views
760
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.

×