我可以直接发送请求到一个快速应用程序,而不是通过http

Can I send requests to an express app directly, rather than via http?

本文关键字:应用程序 http 一个 请求 接发 我可以      更新时间:2023-09-26

我有一个创建快递服务器的文件。设它为foo_serever.coffee

# foo_server.coffee
module.exports = express.createServer()

现在我想要求它,并在javascript中直接发送请求。(注意,sendRequest不是一个真正的方法,我只是想要一个这样的)

app = require './foo_server'
app.sendRequest 'get', '/some/url.html', (status, body, headers) ->
  console.log 'yay' if status is 200

有办法做到这一点吗?或者我需要生成它作为另一个进程,并通过http发送请求,这似乎更痛苦。

简短的回答:不。Express只能作为真实的HTTP服务器工作,而不是模拟的HTTP服务器。使用类似库的请求进行测试。您不需要生成一个单独的进程来发送HTTP请求。

正如Trevor所说,你可以使用Mikeal的请求库进行测试或Learnboost的Tobi,如果你想用jQuery进行"表现力服务器端功能测试"。

我知道这并不像通过快速框架工作那样优雅,但我知道Nodejs http模块允许向任何站点发出http请求,并允许您提供标头和主机等。

请参阅节点http文档了解详细信息和示例。

http://nodejs.org/docs/v0.6.5/api/http.html http.get

相关文章: