![](/img/trans.png)
[英]Testing for specific properties of rejected promises, with Mocha and Chai-as-Promised
[英]Mocha and Chai-as-promised time out
这是一个我相信应该工作的测试。
var chai = require( 'chai' ),
chaiAsPromised = require( 'chai-as-promised' ),
assert = require( 'chai' ).assert,
should = require( 'chai' ).should(),
saveImage = require( 'helpers/save-image' ),
Mocha = require( 'mocha' ),
path = require( 'path' ),
getUser = require( 'helpers/get-user' )
describe( 'GetUser', function () {
describe( "getUser( token )", function() {
it( "should return a user's ID when given token", function() {
this.timeout( 4000 )
var token = "LONG-STRING"
return getUser( token ).should.eventually.include( 'ANOTHER-STRING' )
})
})
})
这是功能
var User = require( '../models/userModel' ),
Q = require( 'q' )
module.exports = function getUser ( token ) {
return Q.Promise( function ( resolve, reject, notify ) {
User.findOne( { token: token } ).exec()
.then( function ( data ) {
if ( !data )
reject( new Error( "There was a problem getting the user. No user with that token." ) )
resolve( data.id )
}, function ( error ) {
reject( new Error( error ) )
})
})
}
当我在我的应用程序中调用此函数并使用node-theseus调试器时,我看到第8行上的函数触发( .then( function ( data ) { ...
)。
但是当我使用调试器运行Mocha时,我发现该函数或其他任何函数都不会触发。 我只在第4行和第5行看到一个呼叫火。测试正在完成与我在我的应用程序前端使用的token
参数完全相同的LONG-STRING
。
为什么Mocha和节点如何看待我的应用程序以及如何使此测试工作有所不同?
问题是应用程序实际上并没有运行,我需要像app = require( '../server.js' )
一样启动它。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.