@krzykrzy1995: twoim zadaniem jest tak zamockować 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
  • Odpowiedz
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
  • 9
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@smaleckg: Zdecydowanie łatwiej będzie z konsoli. Od siebie polecam Mochę, bo ma od razu wbudowaną obsługę wiersza poleceń, do tego można dowolnie i łatwo dawać pluginy (np. istanbul do mierzenie pokrycia) i transpilery (babel, typescript) i to działa, no i przede wszystkim API Jasmine ssie, a w Mocha możesz sobie wybrać. Niemniej jeśli chcesz używać jasmine to instalujesz karmę (koryguję twój post, to jest runner, a nie miernik pokrycia), konfigurujesz,
  • Odpowiedz
@Gottek: Jeśli to ma być prawdziwy unit test, to mockujesz wykonanie funkcji $q.reject żeby zwróciła to co chcesz i sprawdzasz czy to zostało zwrócone. Ewentualnie sprawdzasz czy została wykonana.
  • Odpowiedz
@foke: Dzięki, już sobie poradziłem :)
W beforeEach trzeba było odpalić to tak:

socket = io.connect('http://localhost:3000', {
'reconnection delay' : 0
, 'reopen delay'
  • Odpowiedz