2016-06-22 5 views
0

Ich versuche, Winkelcode mit mailosaur zu integrieren, um die E-Mail-Funktionalität zu handhaben, aber nicht den Wert während der Kodierung im Winkelmesser abrufen. Wenn ich den gleichen Code in node.js versuche, funktioniert es richtig und ich bin in der Lage, den Wert zu bekommen. Im Folgenden finden Sie den Code:Wert kann nicht von mailosaur mit Winkelmesser abgerufen werden, obwohl das gleiche mit node.js funktioniert

In Node.js-Datei:

var Mailosaur = require("mailosaur")("Your_API_Key"); 
var mailbox = new Mailosaur.Mailbox("MailboxID"); 
console.log("Here it begins!"); 
mailbox.getEmails(function(err, emails) { 
console.log(err); 
console.log(emails); 
console.log("Are you even going inside?");}); 

Run in cmd: Knoten filename.js

Ergebnis: die Daten im JSON-Format in cmd angezeigt.

Gleiche Sache mit Winkelmesser Code funktioniert nicht, unten ist der Code.

describe('Test Mail', function() { 
it('should display the data', function(){ 
    var Mailosaur = require("mailosaur")("Your_API_Key"); 
    var mailbox = new Mailosaur.Mailbox("MailboxID"); 

    console.log("Here it begins!"); 
    mailbox.getEmails(function(err, emails) { 
    console.log(err); 
    console.log(emails); 
    console.log("Are you even going inside?");});})}); 

Run es eine Konfigurationsdatei mit der jeweiligen Spec-Datei zu erwähnen: Winkelmesser config.js

Ergebnis: Nur der Top-Log erscheint also nicht auf den Inhalt der Anzeige „Hier beginnt es!“ Mail wie im obigen Fall mit node.js.

Bitte vorschlagen, falls ich etwas vermisse.

Antwort

1

Trick hier, dass Sie nicht wirklich einige Aktionen zum Winkelmesser Kontrolle Fluss planen, so Jasmine denkt, dass der Test beendet ist. Diese

Check - http://www.protractortest.org/#/control-flow

Protractor anpaßt Jasmin, so dass jede automatisch spec wartet, bis der Steuerungsablauf ist leer vor dem Beenden. -

Für Ihren Code so etwas wie dies helfen könnte nur Versprechen Fluss zu steuern setzen:

describe('Test Mail', function() { 
    it('should display the data', function(){ 
     var deferred = protractor.promise.defer(); 
     var Mailosaur = require("mailosaur")("Your_API_Key"); 
     var mailbox = new Mailosaur.Mailbox("MailboxID"); 

     console.log("Here it begins!"); 
     mailbox.getEmails(function(err, emails) { 
      console.log(err); 
      console.log(emails); 
      console.log("Are you even going inside?"); 
      deferred.resolve(); 
     }); 
    }) 
}); 
+0

Vielen Dank für die Antwort, aber es wird auf diese Weise nicht funktioniert. Obwohl ich nach dem Hinzufügen eines Schlafes nach Beendigung der Callback-Funktion versucht habe, habe ich das erwartete Ergebnis für mich bekommen. Aber ich war auf der Suche nach einem besseren Ansatz, um damit umzugehen, eher mit Schlaf. – Ankit