q ライブラリによって生成された promise で chai-as-promised ライブラリを使用します。この単純なテストケースは機能するはずです (約束を拒否する必要があります) または約束機能を誤解していますか?
bdd.it("Test rejection", function () {
var promise = q.promise(function (resolve, reject, notify) {
reject(new Error("test"));
}).then(function () {
// Nothing to do
});
promise.should.be.rejectedWith(Error);
return promise;
});
このテストは Error: test (I use Intern as unit test library) で失敗しますが、以下のテストはパスします:
bdd.it("Test rejection", function () {
var promise = q.promise(function (resolve, reject, notify) {
reject(new Error("test"));
}).should.be.rejectedWith(Error);
return promise;
});