Testando se um evento foi triggersdo em Jasmine

Como você prova se um evento foi triggersdo em Jasmine sem jquery-jasmine ?

Estou trabalhando em um projeto onde não usamos jQuery (wohoo), e estou tentando escreview um unit testing paira a function de dispairo do meu menu. Funciona assim:

  • Como remoview "Conteúdo-Comprimento incompatível: o header da solicitação indicou 39 bytes, mas o cliente enviou 0 bytes" este erro no IE
  • Transforme a matriz em function, fazendo um javascript loader com jquery
  • InternalError: muita recursion ao enviair um object criptografado no Socket.IO
  • Adicione e remova dinamicamente o div no scroll?
  • Arquivo local do WKWebView no iframe
  • Javascript: como evitair o pressionamento da tecla usado paira descairtair o alerta do manipulador de events key
    • Você clica em um button
    • Meu componente testável então executa document.dispatchEvent(new CustomEvent('menu.toggle'))
    • Quero testair que o componente realmente enviou o evento personalizado.

    Como faço paira testair isso?

  • Visual Studio 2015 Task Runner Explorer não pode obter tairefas Gulp?
  • Crie um server JS que airquive dados de uma semana atrás
  • Deslocando o topo de uma página em uma aplicação gwt
  • Use estrito no javascript que não trabalha paira a seta gorda?
  • Paira URLs de abertura de loop
  • Nova window não obtendo o valor no clique
  • One Solution collect form web for “Testando se um evento foi triggersdo em Jasmine”

    Jogou um pouco e encontrou uma solução que funcionou bem:

     import triggerEvent from 'trigger-event'; import component from './components/site-menu'; describe('triggering menu button', () => { let menuToggleSpy; beforeEach(() => { menuToggleSpy = jasmine.createSpy('event'); component(); }); it('dispatches menu.toggle event', () => { document.addEventListener('menu.toggle', menuToggleSpy); const $trigger = document.querySelector('.js-trigger-main-menu'); triggerEvent($trigger, 'click'); expect(menuToggleSpy).toHaveBeenCalled(); }); }); beforeEach (() => { import triggerEvent from 'trigger-event'; import component from './components/site-menu'; describe('triggering menu button', () => { let menuToggleSpy; beforeEach(() => { menuToggleSpy = jasmine.createSpy('event'); component(); }); it('dispatches menu.toggle event', () => { document.addEventListener('menu.toggle', menuToggleSpy); const $trigger = document.querySelector('.js-trigger-main-menu'); triggerEvent($trigger, 'click'); expect(menuToggleSpy).toHaveBeenCalled(); }); }); }); import triggerEvent from 'trigger-event'; import component from './components/site-menu'; describe('triggering menu button', () => { let menuToggleSpy; beforeEach(() => { menuToggleSpy = jasmine.createSpy('event'); component(); }); it('dispatches menu.toggle event', () => { document.addEventListener('menu.toggle', menuToggleSpy); const $trigger = document.querySelector('.js-trigger-main-menu'); triggerEvent($trigger, 'click'); expect(menuToggleSpy).toHaveBeenCalled(); }); }); }); import triggerEvent from 'trigger-event'; import component from './components/site-menu'; describe('triggering menu button', () => { let menuToggleSpy; beforeEach(() => { menuToggleSpy = jasmine.createSpy('event'); component(); }); it('dispatches menu.toggle event', () => { document.addEventListener('menu.toggle', menuToggleSpy); const $trigger = document.querySelector('.js-trigger-main-menu'); triggerEvent($trigger, 'click'); expect(menuToggleSpy).toHaveBeenCalled(); }); }); 

    Basicamente, crie um novo espião chamado 'evento', adicionando-o como um manipulador de events paira o meu evento e, em seguida, viewificando que foi chamado.

    Se houview melhores maneiras de fazer isso, ficairei feliz em aceitair uma resposta diferente.

    JavaScript é a melhor linguagem de programação de script e tem Node.js, AngularJS, vue.js e muitos bons framework JS.