W pracy właśnie uruchomiliśmy aplikację opartą w dużej mierze na Javascripcie (faktycznie używającą Coffeescript, ale nadal), której wdrażam zautomatyzowany system testowy z wykorzystaniem JsTestDriver i tkaniny.
Nigdy nie napisaliśmy czegoś z tak dużą ilością Javascript, więc do tej pory nigdy nie przeprowadzaliśmy testów Javascript. Nie jestem pewien, co dokładnie powinniśmy testować w naszych testach jednostkowych. Napisaliśmy wtyczki JQuery do różnych rzeczy, więc jest całkiem oczywiste, że należy je zweryfikować pod kątem poprawności w jak największym stopniu za pomocą JsTestDriver, ale wszyscy inni w moim zespole wydają się myśleć, że powinniśmy również testować JavaScript na poziomie strony.
Nie sądzę, że powinniśmy testować Javascript na poziomie strony jako testy jednostkowe, ale zamiast tego używamy systemu takiego jak Selenium do sprawdzania, czy wszystko działa zgodnie z oczekiwaniami. Moim głównym uzasadnieniem jest to, że w tej chwili testy JavaScript na poziomie strony nie mogą przejść przez JsTestDriver, ponieważ próbują uzyskać dostęp do elementów w DOM, które prawdopodobnie nie mogą istnieć.
Więc co powinno być testowane jednostkowo w JavaScript?