2012-07-13 20 views
13

Stavo provando a testare la conseguente creazione/eliminazione di elementi (in mongoDB via mangusta).Jasmine (mocha) test "it" nidificati

Il problema che creare è asincrono e restituisce ID di elemento creato in funzione di callback, ho bisogno di questo ID per elemento creato eliminati, così ho provato il seguente codice per moka (in modi diversi), ma non ha funzionato.

Tale test può essere implementato in moka o gelsomino?

risposta

7

Avrei due test per quello. Uno che sta testando inserto e uno che test rimuove.

dovrebbe apparire qualcosa di simile in CoffeeScript

describe 'Item model',() -> 
    item = '' 
    before (done) -> 
     item = new Item {name: {first: "Alex"}} 
     done 
    describe 'When inserting Item',() -> 
     before (done) -> 
      item.save done 
     it 'should have been insterted' -> 
      #CHECK HERE IT IF IT IS INSERTED 

    decribe 'when deleting',() -> 
     before (done) -> 
      item.save (err,data) -> 
       return done err if err 
       Item.delete {_id: data.id}, done 
     it 'should have been deleted' -> 
      #CHECK HERE IT IF IT IS Deleted 
+0

Ok, ci proverò. Grazie. – WHITECOLOR

+15

Mi piacerebbe ancora se la cosa annidata potesse essere fatta. – Zlatko

+45

È una cattiva pratica rispondere alle domande JavaScript con le risposte di CoffeeScript. Adoro CoffeeScript, ma non tutti i programmatori JS potrebbero leggerlo e capirlo. –

4

Vedere questo problema: https://github.com/visionmedia/mocha/issues/438

sembra che l'intenzione è quella di forzare le prove per essere disaccoppiato. Anche se è scomodo e forse richiede più derisione, questo comportamento è utile perché richiede meno riesame e fornisce un'immagine più chiara di esattamente ciò che sta andando storto.

cioè ci sono 2 test, prova A e prova B, dove B è dipendente A.

test A infrange, B quindi rompere pure. Correggere cosa sta rompendo il test A, ma ora può essere sorpreso di scoprire che il test B si è rotto durante il processo di correzione o per un motivo non correlato.

Quando i test non dipendono l'uno dall'altro, si hanno informazioni migliori e meno sorprese.

Problemi correlati