无法通过require访问变量

时间:2015-07-06 04:07:20

标签: javascript node.js

当我尝试通过我的测试从所需的index.js访问'app'变量时,我的测试代码无法解析变量'app'。

server.js

'use strict';

var supertestKoa = require('supertest-koa-agent');

var app = module.exports = require('koa')(),
    port = process.env.PORT || 3000;

supertestKoa(app);

app.listen(port, function(){
    console.log('Koa app is listening on port' + port);
});

myTest.js

'use strict';
var api = require('../../server.js');

var port = 3000;
var request = require('co-supertest').agent(api.app.listen(port, console.log('test app running' + port)));

它抱怨说它不知道代理中的'app'(api。 app ....)

'api'确实解决了。只是不api。 app

1 个答案:

答案 0 :(得分:0)

在导出server.js的{​​{1}}中。在var app = require('koa')()中,您需要myTest.js作为server.js。这意味着api现在等于api

删除app,改为使用:

.app

请注意它是var request = require('co-supertest') .agent(api.listen(port, console.log('test app running' + port))); 而不是app.listen