Chai-As-Promised is eating assertion errors
I think you're having two different issues:
First, you need to return a promise at the end of your tests (e.g. Q.all([...]);
in your first test should be return Q.all([...])
.
Second, I found that chai-as-promised
doesn't seem to work unless used with mocha-as-promised
.
Here's an example of mocha-as-promised
with two assertions that will cause the test to fail.
/* jshint node:true *//* global describe:false *//* global it:false */'use strict';var Q = require('q');require('mocha-as-promised')();var chai = require('chai');var chaiAsPromised = require('chai-as-promised');chai.use(chaiAsPromised);var expect = chai.expect;describe('the test suite', function() { it('uses promises properly', function() { var defer = Q.defer(); setTimeout(function() { defer.resolve(2); }, 1000); return Q.all([ expect(0).equals(0), // the next line will fail expect(1).equals(0), expect(defer.promise).to.eventually.equal(2), // the next line will fail expect(defer.promise).to.eventually.equal(0) ]); });});