biçimlendirme mocha hatayı düzeltmek için.nasıl <a href="http://git://github.com/mochajs/mocha.git" rel="nofollow">Mocha 2.4.5</a> ve kullanarak tarayıcı içi testini kurmaya çalışıyorum zaman uyumsuz iddianın
Başarısız Olmalı iddialar yararlı bir test hatası nedeni görüntüler. Aynı iddiası bir jQuery Ajax geri arama bağlamında yapıldığında
Ancak, bunun yerine bir Yakalanmayan Onaylama Hatası olsun.
şu örneği ele alalım:
mocha.setup('bdd');
var url = 'http://localhost/api/v2/People';
describe('ajax',() => {
var that1 = this;
it('Passing async assertion', (done) => {
$.ajax({ url: url }).done(data => {
should(1).be.eql(1);
done();
});
});
it('Failing async assertion', (done) => {
var that2 = this;
$.ajax({ url: url }).done(data => {
should(0).be.eql(1);
done();
});
});
it('Failing sync assertion', (done) => {
should(0).be.eql(1);
done();
});
});
mocha.run();
'zaman uyumsuz iddiasını Geçme' geçer ve test atlet çıkışında güzel görünüyor.
'senkronizasyon iddia başarısız' başarısız ve (ince) başarısız 'uyumsuz onaylama işlemi başarısız' Bununla birlikte, kullanışlı bir stacktrace
Fail sync assertion ‣
AssertionError: expected 0 to equal 1
at Assertion.fail (http://path/to/should.js:220:17)
at Assertion.Object.defineProperty.value (http://path/to/should.js:292:19)
at Context. (tests.js:337:26)
olsun, ancak StackTrace usless olup.
Fail async assertion ‣
Error: Uncaught AssertionError (http://path/to/should.js:200)
Ben that1 veya that2için ajax bağlamı ayarlama etrafında oynadım ama hiç fark etmez.
yüzden asenkron iddialar işe test durumları biçimlendirmek için başka yolu var mı?
DÜZENLEME
Ben Mocha Sorumun sahip olarak asenkron testler biçimlendirme önermek için asynchronicity
mocha.setup('bdd');
describe('ajax',() => {
var that1 = this;
it('Failing async assertion', (done) => {
setTimeout(() => {
should(0).be.eql(1);
done();
}, 100);
}).async = true;
it('Failing sync assertion', (done) => {
should(0).be.eql(1);
done();
});
});
mocha.run();