Próbuję dowiedzieć się, gdzie umieścić funkcję, aby usunąć bazę danych i zamknąć połączenie po zakończeniu wszystkich testów.gdzie usunąć bazę danych i zamknąć połączenie po wszystkich testach przy użyciu mocha
Oto moje zagnieżdżone testy:
//db.connection.db.dropDatabase();
//db.connection.close();
describe('User', function(){
beforeEach(function(done){
});
after(function(done){
});
describe('#save()', function(){
beforeEach(function(done){
});
it('should have username property', function(done){
user.save(function(err, user){
done();
});
});
// now try a negative test
it('should not save if username is not present', function(done){
user.save(function(err, user){
done();
});
});
});
describe('#find()', function(){
beforeEach(function(done){
user.save(function(err, user){
done();
});
});
it('should find user by email', function(done){
User.findOne({email: fakeUser.email}, function(err, user){
done();
});
});
it('should find user by username', function(done){
User.findOne({username: fakeUser.username}, function(err, user){
done();
});
});
});
});
Nic nie wydaje się działać. Otrzymuję błąd: timeout 2000ms przekroczyła
Faktycznie, mam ten błąd 2nd czasu pracy make test: '✖ 1 5 testów nie powiodło się: 1) #save użytkownika() "przed każdym" haka: Error: timeout 2000ms przekroczyło ' – chovy
@chovy Daje ci kierunek -" * "przed każdym" hookem ".Tak, masz' beforeEach', który się nie kończy, prawdopodobnie dlatego, że nazwałeś argument aby zaakceptować callback, ale następnie nie wywołuj tego. W przypadku Mocha musisz pozostawić go bez nazwy (0 argumentów) - 'function() {...}' - lub nazwij go i wywołaj - 'function (done) {done();} '. –
Otrzymuję teraz inny błąd: https://gist.github.com/a821 7751061ad6e738b9 1) "mimo wszystko" hak: Błąd: przekroczenie limitu czasu 2000ms – chovy