2016-12-14 3 views
0

ich einen Testfall haben alsWie Doppel Rückruf in Mokka verwenden und Supertest

it("Searching with valid rollnumber", function(done) { 
    DbService.find_random_rollnumber(function(err, result) { 
     if(err) { 
      throw err; 
     } 
     request.get('/provider') 
     .query({id:result.rollnumber}) 
     .set('Authorization', "Bearer "+token_value) 
     .end(function(err, response) { 
      if(err) { 
       throw err; 
      } 
      console.log(response.body); 
      done(); 
     }) 
    }); 
}) 

wo in DbService.js eine Funktion dort find_random_rollnumber geschrieben als

find_random_rollnumber : function(callback) { 
    connection.provider.findOne({}, function(err, result) { 
     if(err) { 
      throw err; 
     } 
     return callback(err, result); 
    }); 
}, 

dies nicht funktioniert genannt ist und wirft einen Fehler als

Error: timeout of 10000ms exceeded. Ensure the done() callback is being called in this test. 
+0

Was Sie passieren erwarten? Erwarten Sie, dass der Test bestanden wird? Erwarten Sie, dass es mit einem anderen Fehler fehlschlägt? Was ist mit Ihrem 'console.log'? Zeigt es, was Sie erwarten? Zeigt es etwas anderes? Wenn das letztere, was ist der Unterschied zwischen dem, was Sie erwarten und was Sie tun? Haben Sie beim Debuggen andere 'console.log'-Anweisungen verwendet? Was haben sie gezeigt? – Louis

Antwort

0

Eigentlich sehe ich keine Fälle in Ihrem Code, sollte es funktionieren.

Für den Anfang schlage ich vor, dass Sie die Wartezeit auf 20 Sekunden erhöhen, um zu sehen, ob das Timeout das Problem ist.

describe('',() => { 
    it('', done => { 
     //do your test 
    }).timeout(20000) 
}) 

Wenn das Problem ist dann denke ich, das Problem irgendwo in der Ereignisschleife ist, dass Sie nicht einen Rückruf anrufen ...

+0

Das Problem ist mit der result.rollnumber .. wenn ich versuche, es zu trösten, zeigt es als undefiniert, während, wenn ich versuche, das gesamte Ergebnis zu trösten, richtige Daten angezeigt werden ... – questionar

+0

könnten Sie in Kommentaren die console.log von der Ergebnis? –

+0

Es funktioniert gut..Probleme liegt in der Erstellung des Sammlungsmodells – questionar