2016-04-25 14 views

Antwort

1

Chai ist eine BDD Behauptung Bibliothek - Sie mit gemeinsamen Schlüsselwort wie assert oder should usw.

Chai bietet als Versprochen ist eine Erweiterung dieser Bibliothek speziell behandeln Behauptungen mit Versprechungen (anstatt sie manuell selbst zu lösen).

https://github.com/domenic/chai-as-promised/

+0

Danke für Ihre Antwort – Emna

1

Es hilft Ihnen, Code zu testen, der Promises verwendet. Diese Tests können schwierig zu testen sein, da sie Callbacks ausführen und im Allgemeinen asynchron sind. Diese Zuschreibung könnten Ihnen helfen: http://www.sitepoint.com/promises-in-javascript-unit-tests-the-definitive-guide/

+0

Vielen Dank für Ihre Antwort, also eine eckige js App zu testen ist es besser, Jasmin oder Mocha-Framework mit Winkelmesser zu verwenden? – Emna

+1

@Emna Die Progractor-Dokumentation empfiehlt Jasmine, obwohl beide unterstützt werden. – Gunderson

+0

@Gunderson Ja, das, was ich suche, was empfohlen wird, danke :) – Emna

5

Chai - Test Assertion-Bibliothek, die Sie Ihren Code mit Schlüsselwörtern wie expect testen können, should etc. Aber während Chai verwenden, haben Sie kümmern sich um Versprechungen zu nehmen. Zum Beispiel

var expect = require('chai').expect; 

it('should display correct tile', function() { 
    var blah = 'foo'; 

    var title = browser.getTitle(); 

    return title.then(function(actualTitle) { 
    expect(actualTitle).to.equal(expectedTitle); 
    }); 
}); 

Auf der anderen Seite, wenn Sie Chai wie versprochen verwenden, dann müssen Sie Versprechen nicht explizit behandeln. Dies könnte mit Hilfe von Chai as promised Bibliothek getan werden. Beispielsweise;

var chai = require('chai'); 
var expect = chai.expect; 

var chaiAsPromised = require('chai-as-promised'); 
chai.use(chaiAsPromised); 

it('should display correct title', function() { 

    var actualTitle = browser.getTitle(); 

    return expect(actualTitle).to.eventually.equal(expectedTitle); 
}); 
+0

Vielen Dank für das Beispiel. – Emna

Verwandte Themen