Bawie sie jasmine. Mam aplikacje w której będe chciał testować na webpacku z zaleznościami nodowymi(npm). Chciałbym dodatkowo móc mierzyc pokrycie testami kodu aplikacji (nie wiem jeszcze czym, może Karma?). Łatwiej będzie jeśli Jasmine będe miał w wersji standalone(specRunner.html w przeglądarce) czy odpalanie w konsoli wersji zainstalowanej npm?
#jasmine #bdd #tdd #javascript #programowanie #testowanieoprogramowania
#jasmine #bdd #tdd #javascript #programowanie #testowanieoprogramowania
keydown
na obiekciewindow
. DispatchEvent mi nie działa, wywala błąd!Muszę jakoś zamockować window?
Kodzik hooka ( ułatwiłem go znacząco do pytania ) w załączinku.
Jak #!$%@? event w #jasmine
window.dispatchEvent(new KeyboardEvent('keydown'))
Błąd jaki dostaje:
TypeError: event.target.getAttribute is not a function thrown
#react #testowanieoprogramowania #javascript
addEventListener
, żeby potem w łatwy sposób móc udawać że triggerujesz event. Np:keydownEvents = [];
window.addEventListener = (name, callback) => keydownEvents.push(callback);
const triggerEvents = () => keydownEvents.forEach(callback => callback());
i potem sobie kiedy potrzebujesz wołasz w teście
triggerEvents()
i tylesetState
w hooku zmieniam wartość a w testach przyrównuje ją do initial.. Ja #!$%@? xD