2010-09-15 135 views
3

我正在用express写一个应用程序。nodejs /快速测试

主要文件被称为server.js

的对象之一是

var app = express.createServer(express.logger(), 
    express.bodyDecoder()); 

那么我

app.get("/",function(req, res){ 
    res.send("Running"); 
} 

如何使用快报,[或其他任何测试框架为 的问题],测试路由输出?

我看着expresso网站,但不知道如何得到它 一起工作,是否有可能如果有人给我一个短的 例子?

谢谢!

回答

2

我敢肯定,你现在找到这个问题的答案,但你尝试过这样的事情:

assert.response(server, { 
    url: '/', 
    method: 'GET' 
},{ 
    body: '{"name":"tj"}', 
    status: 200, 
    headers: { 
     'Content-Type': 'application/json; charset=utf8', 
     'X-Foo': 'bar' 
    } 
}); 
+0

最近我一直在考虑编写一个基于NodeJS assert的测试套件。你会推荐这么做吗?我的意思是这样做会减少我的项目中的依赖项数量......它看起来好像更容易,更灵活。 – Charlie 2014-02-25 15:36:24

+0

如果你可以写一个体面的测试套件只使用assert然后那很好。这就是说,摩卡作为一个依赖是相当轻量级,并给你很多很酷的功能。 – 2014-02-25 15:56:24

1

如果你是新来的Node.js和所有不同的测试库感到困惑:

Expresso的继任者是Mocha。在摩卡,您使用的HTTP响应测试单独的工具,如RequestSuperTestzombie.js

Zombie.js似乎是最容易学习如何使用,ESP。 w/cookie和基于cookie的会话。它“在请求中保持状态:历史记录,Cookie,HTML5本地和会话记录等。”