2016-07-20 10 views
0

laufen verwende ich den folgenden Code als Mokka-Test und ich bekam Fehler „“ vor allem „Haken fehlgeschlagen“Fehler beim Asynchron-Test

ich das verwenden, bevor Ereignis aber nicht sicher, was ich falsch hier tun, eine Idee ? während debug, wenn ich legte BP auf der JSON.parse es nicht Linie nach ...

describe("Validations", function() { 
    before(function (done) { 

    var valid = require('../utils/valid'); 

    _provideConfig() 
     .then(function (config) { 
      isValidURL = valid.url(config, "test2") 
      done(); 
     }).done(); 


    }); 


    it("Validate URL ", function() { 
    expect(isValidURL).to.be.true; 
    }); 


}); 


_provideConfig = function() { 

    return new Promise(function (resolve, reject) { 
    var configJSON = { 
     "providers": [ 
      { 
       "replace": { 
        "path": "cmd1", 
        "inc": "upd" 
       }, 
       "save": { 
        "path": "test2", 
        "inc": "upd2" 
       } 
      } 
     ] 
    }; 

    var config = JSON.parse(configJSON); 
    console.log(config); 
    resolve(config); 
}); 
+0

Warum verwenden Sie 'JSON.parse' für ein einfaches JavaScript-Objekt? – Iso

Antwort

1

Sie müssen den done Rückruf nicht aufhört entfernen und nur das Versprechen zurück.

before(function() { 

    var valid = require('../utils/valid'); 

    return _provideConfig() 
    .then(function (config) { 
     isValidURL = valid.url(config, "test2"); 
    }); 


}); 

Wenn es sagt in der Dokumentation, die Mokka Versprechen unterstützt, bedeutet es, dass Sie ein Versprechen zurück, so dass Mokka damit umgehen kann.

+0

Vielen Dank verpasste diesen Teil ... btw keine Idee, dies zu beachten? Http: //stackoverflow.com/questions/38474419/run-html-file-after-code-coverage-finish-in-grunt –