Usando chai-as-promesso in goniometro
-
21-12-2019 - |
Domanda
Seguente Questo esempio Posso ottenere i test che lavorano con la sintassi aspettami ma non con la sintassi della sessione.
var expect = chai.expect;
describe('expect syntax', function() {
it('should work', function() {
...
expect(promise).to.eventually.eql('something');
});
});
.
chai.should();
describe('should syntax', function() {
it('should work', function() {
...
(true).should.be.true;
promise.should.eventually.eql('something');
});
});
.
Soluzione
Seguente Il mio problema e questo Altro problema che in qualche modo mancato, sembrerebbe che la fonte del problema sia che le promesse di WebDiverjs siano basateSu Promise / A e Promise / B mentre Chai-as-previsto si aspetta promesse / A + tipi promesse.
Avvolgere la promessa di WebSriverjs in una promessa Q ha risolto il problema:
Q(webdriverjspromise).should.eventually.eql('something')
Altri suggerimenti
funziona per noi ..
var element = $('#mainDiv');
expect(element.isEnabled()).to.eventually.to.equal(true, "Expect Button to be enabled.");
.
Assisterei che la "promessa" sia davvero una promessa, e il lavoro EQL funziona? Ho sempre usato uguale.
Su una nota laterale che stiamo usando il cetriolo con chai e chai-as-promesso ma non dovrebbe importare con la promessa.