3 rodzaje testow:
unit testy
integractyjne testy - testowanie wiecej jednostek
asercje - wywolanie funkcji, ktorej dajemy parametr, jezeli przejdzie (zielone)
3 zaisy assercji:
assert(...jakas wartosc) posiada metody np. equal, grater than
should - posiada metody np. collection, ktrora posiada be ... equal
expect - x.equal(5)
mocha uruchamia testy
chai
sinon stub - zastapienie istniejacej funkcji jakas inna spy - szpieguje wywolanie funkcji
testy mutacyjne - sprawdzamy czy testy sa odporne na wyjatki
mock - tworzenie calej funkcji
fake - dziala jak spy, ale kontroluje jej wywolanie
funkcja ktora zmienia cos w bazie ( side effect)
podejscie tdd /bdd / ddd / red green refactor
open API standard opisu dla api w postaci dokumentacji swagger wykorzystuje api
jaml- wciecia w html
swagger-ui-express