2016-07-18 22 views
1

Ich habe versucht, meine eckige App mit Winkelmesser und Gurke zu testen, aber wenn ich Mocha für eine Erwartung verwenden, wenn die Erwartung ist der Fehler falsch Die Spezifikation wird nicht in der Konsole angezeigt.Winkelmesser und Cucumber.js: Erwartungen funktionieren nicht wie erwartet mit Versprechungen mit Mokka

Die entsprechende HTML für die Route http://localhost:9000/#/form29/form29 '

... 

<h4 class="title"> 
    The title 
</h4> 

... 

Und mein Schritt-Datei ist:

//form29_steps.js

var chai = require('chai'), 
     chaiAsPromised = require('chai-as-promised'), 
     assert; 

chai.use(chaiAsPromised); 
expect = chai.expect; 

module.exports = function() { 

    this.Given(/^I am in the form 29 page$/, function (done) { 
     browser.get('http://localhost:9000/#/form29/form29'); 
     done(); 
    }); 

    this.Then(/^should be the title "(.*)"/,function(title, done){ 
     var el = element(by.css('.title')); 

     el.getText().then(function(text){ 
      //a false expect 
      expect(title).to.eq('Aaaaa'); 
      done(); 
     }); 

    }); 

}; 

wenn das seine Gültigkeit seiner ok erwarten, aber wenn die expect fehlgeschlagen ist, gibt es keinen expect failed error und zeigt folgendes an:

[16:14:08] E/launcher - "process.on('uncaughtException'" error, see launcher 
[16:14:08] E/launcher - Process exited with error code 199 

Wenn ich das gleiche versuchen, aber nicht versprochen, die Nutzung dieser

this.Then(/^should be the title "(.*)"/,function(title, done){ 
    var el = element(by.css('.title')); 

    expect(title).to.eq('A'); 
    done(); 
}); 

gut funktioniert ich den Fehler, die ich wünsche:

Message: 
    AssertionError: expected 'Formulario 29' to equal 'A' 
     at World.<anonymous> (/protractor/test/e2e/features/step_definitions/form29_steps.js:18:20) 
     at _combinedTickCallback (internal/process/next_tick.js:67:7) 
     at process._tickCallback (internal/process/next_tick.js:98:9) 

Warum ist das passiert?

+0

Die nicht abgefangene Ausnahme kann verschiedene Dinge bedeuten, aber [ich hatte es kürzlich] (http://stackoverflow.com/questions/38397965/uncaughtexception-after-a-proctor-run). – alecxe

Antwort

2
[16:14:08] E/launcher - "process.on('uncaughtException'" error, see launcher 
[16:14:08] E/launcher - Process exited with error code 199 

Der obige Fehler kann aus verschiedenen Gründen meist auf Versprechungen im Zusammenhang verursacht werden. Aber es sollte die richtige Nachricht werfen. Es gibt bereits eine Arbeit hier zur Verfügung gestellt https://github.com/angular/protractor/issues/3384, um die genaue Fehlermeldung zu fangen.

Sie können die launcher.ts Datei in Ihrem Winkelmesser Abhängigkeit ändern, wie im obigen Forum erwähnt, um den Fehler zu fangen, um Ihr Problem zu debuggen.