Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 摩卡咖啡和柴咖啡如承诺的暂停_Javascript_Node.js_Unit Testing_Mocha.js_Chai - Fatal编程技术网

Javascript 摩卡咖啡和柴咖啡如承诺的暂停

Javascript 摩卡咖啡和柴咖啡如承诺的暂停,javascript,node.js,unit-testing,mocha.js,chai,Javascript,Node.js,Unit Testing,Mocha.js,Chai,这是一个我认为应该有效的测试 var chai = require( 'chai' ), chaiAsPromised = require( 'chai-as-promised' ), assert = require( 'chai' ).assert, should = require( 'chai' ).should(), saveImage = require( 'helpers/save-image' ), Mocha = require( 'mo

这是一个我认为应该有效的测试

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 ) )
        })
    })
}
当我在我的应用程序中调用这个函数,并使用节点theseus调试器时,我看到第8行的函数被激发(
。然后(函数(数据){…

但是,当我使用调试器运行Mocha时,我看到该函数或任何其他函数都不会启动。我只看到第4行和第5行有一个调用启动。测试使用的是与我在应用程序前端使用的
长字符串
完全相同的
令牌
参数


为什么Mocha和node在查看我的应用程序的方式以及如何使此测试工作方面存在差异?

问题是应用程序没有实际运行,我需要启动它,就像
app=require('../server.js')
将超时设置为
this.timeout(999999);
@hbk35问题是应用程序没有运行,因此无法执行任何Mongoose命令。请参阅下面的答案。