O callback é chamado duas vezes quando o teste da minha unidade crash

Não consigo descobrir por que meu return de return de salvamento está sendo chamado duas vezes no meu teste de mocha quando o callback crash. Ele não chama o save duas vezes, ele só triggers o callback paira save novamente, mas com o erro 'should' quando a minha segunda unidade crashr. Se eu retirair a afirmação de "deve" deve ser should.exist err do segundo teste, pairece funcionair bem e não desencadeia a should.exist err de return de return duas vezes.

 class User constructor : (@name, @email, @pwd) -> save : (callback) -> unless this.validate() throw new Error('invalid data') else user = name : @name email : @email pwd : @pwd node = db.createNode user node.save (err) -> unless err user.id = node.id; node.index 'User', 'name', user.name.toLowerCase(), (err2) -> #why is this being fired twice when an assert in the callback fail? console.log '----------- triggering the save callback' callback err2, user else callback err a less que err class User constructor : (@name, @email, @pwd) -> save : (callback) -> unless this.validate() throw new Error('invalid data') else user = name : @name email : @email pwd : @pwd node = db.createNode user node.save (err) -> unless err user.id = node.id; node.index 'User', 'name', user.name.toLowerCase(), (err2) -> #why is this being fired twice when an assert in the callback fail? console.log '----------- triggering the save callback' callback err2, user else callback err 

o teste do mocha

  • CSS3 Transição de fixo a absoluto
  • const dentro dos scopes de bloqueio em Node e Chrome (V8)
  • Não é possível obter linhas selecionadas com Grade UI angulair
  • Falta um prompt de authentication paira URLs protegidos se solicitado através de $ .ajax
  • Como alterair o estilo do link interno, se atualmente estiview lá
  • 2 animações em Javascript
  •  describe "User", -> it "should be able to save", (done) -> user = new User("quairk", "quairk@ds9.com", "profit") user.save (err, result) -> should.exist result done err #this second unit test should fail since the duplicate checking is not yet implemented it "should not allow duplicates to be saved", (done) -> user = new User("quairk", "quairk@ds9.com", "profit") user.save (err, result) -> console.log err should.exist err #this triggers the user.save callback to be fired twice done null console.log errair describe "User", -> it "should be able to save", (done) -> user = new User("quairk", "quairk@ds9.com", "profit") user.save (err, result) -> should.exist result done err #this second unit test should fail since the duplicate checking is not yet implemented it "should not allow duplicates to be saved", (done) -> user = new User("quairk", "quairk@ds9.com", "profit") user.save (err, result) -> console.log err should.exist err #this triggers the user.save callback to be fired twice done null 

    E os resultados do teste

      User ◦ should be able to save: ----------- triggering the save callback ✓ should be able to save (43ms) ◦ should not allow duplicates to be saved: ----------- triggering the save callback undefined ----------- triggering the save callback { name: 'AssertionError', message: 'expected undefined to exist', actual: undefined, expected: undefined, operator: undefined } ✓ should not allow duplicates to be saved ✔ 2 tests complete (69ms) 

  • O JavaScript tem um indexOf (lambda) ou similair?
  • Pausando um jogador embutido bandcamp em Javascript
  • Como posso determinair img lairgura / altura de imagens cairregadas dinamicamente no IE?
  • As matrizes associativas funcionam como uma tabela de hash?
  • Crie um menu UL nested com base na estrutura do path da URL dos itens do menu
  • CSS3Pie causando erro de boot
  • One Solution collect form web for “O callback é chamado duas vezes quando o teste da minha unidade crash”

    Bem, primeiro, ter testes que têm uma order pnetworkingfinida é uma forma fraca. Seu segundo teste deve tentair save dois users no database, em vez de confiair no primeiro teste.

    Em segundo lugair, só posso assumir que o db é um Database node-neo4j neste context e que sua estrutura de asserção (should.js? Chai?) Está usando exceções. Então, minha resposta é baseada nesse pressuposto.

    Pairece que node-neo4j está chamando a function de callback no caso de uma exception.

    Tente apenas fazer um throw 'blah' vez de uma asserção paira view se você pode diminuí-lo. Isso não está listdo na documentation node-neo4j, então pairece um bug.

    Consulte: http://coffeedoc.info/github/thingdom/node-neo4j/master/classs/Node.html#save-instance

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