Tag: chai as promised

摩卡和锡诺testing与承诺超时

我有我的testing使用Sinon和摩卡以下代码。 每当我运行这些testing时,我都会看到以下的结果 0 passing (747ms) 8 pending 1 failing 1) Customer displays order Given that the order is empty "before each" hook for "will show no order items": Error: Timeout of 500ms exceeded. For async tests and hooks, ensure "done()" is called; if returning a Promise, ensure it resolves. testing通过,直到我开始将承诺纳入图片,并使testing更现实,即设置处理asynchronous调用。 我做错了什么,如何让testing通过? tests.js 'use strict'; require("babel-register"); […]

validation使用Mocha / Chai和asynchronous/等待引发exception

我努力想出一个最好的方法来validation在使用asynchronous/等待的同时在摩卡testing中拒绝承诺。 这是一个should.be.rejectedWith的例子,但我不喜欢should.be.rejectedWith返回一个承诺,需要从testing函数返回,以正确评估。 使用async / await可以删除testing值的这个要求(正如我对下面wins()的结果所做的那样),我觉得在某些时候我很可能会忘记return语句,在这种情况下,testing总是会通过。 // Always succeeds function wins() { return new Promise(function(resolve, reject) { resolve('Winner'); }); } // Always fails with an error function fails() { return new Promise(function(resolve, reject) { reject('Contrived Error'); }); } it('throws an error', async () => { let r = await wins(); r.should.equal('Winner'); return fails().should.be.rejectedWith('Contrived Error'); }); 感觉应该有可能使用async […]

如何unit testing连接到mongo的方法,而不实际连接到mongo?

我试图编写一个testing来testing一个连接到mongo的方法,但是我实际上并不想让mongo运行,并且实际上build立了连接来让我的testing成功通过。 这是我当前的testing,当我的mongo守护进程运行时,它是成功的。 describe('with a valid mongo string parameter', function() { it('should return a rejected promise', function(done) { var con = mongoFactory.getConnection('mongodb://localhost:27017'); expect(con).to.be.fulfilled; done(); }); }); mongoFactory.getConnection代码: getConnection: function getConnection(connectionString) { // do stuff here // Initialize connection once MongoClient.connect(connectionString, function(err, database) { if (err) { def.reject(err); } def.resolve(database); }); return def.promise; }