Wyszukaj / o blogu

JavaScript - krótkie wprowadzenie do testowania kodu

Opublikowano śro 03 czerwca 2020 w javascript • 1 min read

TDD

Dlaczego warto stosować testy/Do czego służą testy?

[..........]

TDD - test driven development - testowanie aplikacji na bieżąco, podczas realizacji kolejnych kroków, może to być związane z tworzeniem testu jeszcze przed napisaniem danego bloku kodu

Unit test - inaczej testowanie jednostkowe - polega na rozbiciu kodu na jak najmniejsze części i poddawanie ich testom (w JS jest to np. funkcja - którą należy odizolować od kodu od którego jest zależna - to można zrobić przy wykorzystaniu STUBów i markerów, które zastępują zewnętrzne zależności)

International - testowanie modułów, a nawet całych aplikacji oraz przepływu przez nie informacji, mogą korzystać z zewnętrznych zależności

Functional - testowanie całych aplikacji z wykorzystaniem przeglądarki


Istotne wyrażenia:

Dummy - obiekt zastępujący obiekt nad którym się pracuje

STUB - obiekt lub funkcja, której należy podać jaką ma przyjąć odpowiedź

SPY - zwraca jak obiekt jest używany

MOCK - imitacja obiektu, należy wskazać w jaki sposób jest użyty

FAKE - podobne do STUB ale może posiadać funkcjonalność


Wymagania: NODEJS, NPM

nodejs&npm-logo


Frameworki:

mocha

MOCHA

https://github.com/mochajs/mocha

CHAI - assertion library

SINON - tworzy test doubles (MOCK,FAKE etc.)

Źródło-tutorial: https://github.com/flawgical/Mocha-Chai-TTD

http://jsdn.pl/nowoczesne-testowanie-kodu-w-javascript-czesc-pierwsza-setup/

http://jsdn.pl/testy-jednostkowe-javascript/

https://blog.piotrnalepa.pl/2016/01/10/js-testowanie-kodu-javascript-za-pomoca-gulp-js-karma-i-mocha-js/

https://www.youtube.com/watch?v=pnQVrUePcu8

https://www.youtube.com/watch?v=MLTRHc5dk6s

https://www.youtube.com/watch?v=MLTRHc5dk6s

  • Behavior-driven development (BDD)

Jasmine

Jasmine

Źródło-tutorial: https://www.nafrontendzie.pl/jasmine-podstawy-testowania

  • nie jest uzależniony od elementów DOM

  • skupiony na testowaniu zachowania


Jest

Jest

Źródło-tutorial: https://devenv.pl/testowanie-w-node-js-jest-alternatywa/

https://www.youtube.com/watch?v=gX440uva4NU - PL

https://www.youtube.com/watch?v=_zEX9sHzqS4 - PL

https://www.youtube.com/watch?v=FgnxcUQ5vho


QUnit

QUnit

Źródło-tutorial: ---


Zestawienie

podsumowanie

Wtyczki

Wallaby.js - wtyczka do IDE stworzona do testowania JS - współpracuje z frameworkami wyżej wymienionymi

https://wallabyjs.com/

Źródło-tutorial: https://www.youtube.com/watch?v=P4UQ-jTTJJ4


Źródła:

https://jestjs.io/

https://jestjs.io/docs/en/mock-functions.html