0
次のモカテストがあります。私はアサーションを入れて失敗をテストしようとしています。コールバックでアサーションに失敗があると、モカはまだテストが合格したと考えます。私はassertモジュールとexpectモジュールの両方を試しました。モカコールバックのアサーションが機能しない
var sendSecureQueue = SecureQueue(secureBullOptions.encryption, "Server A");
var receiveSecureQueue = SecureQueue(secureBullOptions.encryption, "Server A");
describe('SecureQueue', function() {
describe('and() and process() - unencrypted', function() {
it('should be equal to each other, for both Queue and SecureQueue', function() {
var sendSecureData = {msg: "Hello"};
console.log("Send Secure Data: " + util.inspect(sendSecureData));
sendSecureQueue.add(sendSecureData);
receiveSecureQueue.process(function (job, done) {
var receivedSecureData = job.data;
console.log("Received secure data", util.inspect(receivedSecureData));
//**Testing Force a Failure**
//assert.equal(1,2);
//**Testing Force a Failure**
expect(1).to.be.equal(2);
done();
});
});
});
});
モカ出力 - アサーションと/期待:
SecureQueue
and() and process() - unencrypted
Send Secure Data: { msg: 'Hello' }
✓ should be equal to each other, for both Queue and SecureQueue
Received secure data { msg: 'Hello' }
(node:16349) Warning: a promise was created in a handler at /usr/apps/myapp/node_modules/bull/lib/queue.js:688:9 but was not returned from it, see ...
at new Promise (/usr/apps/myapp/node_modules/bluebird/js/release/promise.js:77:14)
1 passing (120ms)
(node:16349) Warning: .then() only accepts functions but was passed: [object Object]
モカ出力 - アサーション/期待コメントアウト:
SecureQueue
and() and process() - unencrypted
Send Secure Data: { msg: 'Hello' }
✓ should be equal to each other, for both Queue and SecureQueue
1 passing (102ms)
Received secure data { msg: 'Hello' }
行われたコールバックは、パラメータとして渡されるべき例えば 'it'スイートのコールバックに'それは(QueueとSecureQueueの両方のためにお互いに等しくなければなりません '、function(done){' – char