为什么地址在我的应用程序中未定义?
我有一个简单的快速应用程序:
var express = require('express'); var path = require('path'); var app = express(); exports.app = app; var index = require('./routes/index'); app.use(express.static(path.join(__dirname,'client/dist/'))); app.get('/', index.get); function start(){ var port = process.env.PORT || 8080; app.listen(port, function(){ console.log('app is running on port: ' + port); }); }; exports.start = start;
而一个整合testing:
var request = require('supertest'); var app = require('../app'); describe('GET /', function(){ it('should repsond with 200', function(done){ request(app) .get('/') .expect(200, done.fail); }); });
该应用程序运行良好,但运行集成testing,我得到以下错误:
Failures: 1) GET / should repsond with 200 1.1) TypeError: Object #<Object> has no method 'address'
我做了一些search,似乎应用程序没有正确导出,但我似乎无法弄清楚为什么。
在集成testing中request(app.app)
而不是request(app)
应该修复错误。
var request = require('supertest'); var app = require('../app'); describe('GET /', function(){ it('should repsond with 200', function(done){ request(app.app) .get('/') .expect(200, done.fail); }); });
- 使用茉莉节点来testingmeteor应用程序与自动testing
- 如何判断哪些testing花费最多的时间在茉莉花?
- 做一些事后描述与量angular器与selenium服务器与angularjs
- 模拟请求对象不能用于node.js中的testing
- 在Jasmine中设置基本身份validation头以testingNodeJS Api
- 如何操作Jasmine JS在Webdriver的“文本”validation?
- 用Jasmine / NodetestingAngular:未捕获types错误“不能设置'mock'的属性undefined
- 如何跨多个testing目录运行茉莉花规格
- 量angular器:同一页面上的两个下拉菜单,只能从一个下拉菜单中成功select元素