2010-09-15 3 views
3

Я пишу приложение с выражением.nodejs/экспресс-тестирование

Основной файл называется server.js

один из объектов

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

тогда я

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

Как я могу использовать, эспрессо [или любой другой рамки тестирования для этого значения ], чтобы проверить вывод маршрутов?

Я посмотрел на сайт экспресс, но не мог понять, как его получить всем работающим вместе, возможно ли, если бы кто-нибудь дал мне короткий пример ?

Спасибо!

ответ

2

Я уверен, что вы нашли ответ на это сейчас, но вы пытались что-то вроде этого:

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

Я недавно рассматривал набор тестовых наборов на основе утверждения NodeJS. Вы бы порекомендовали это сделать? Я имею в виду, что это уменьшит количество зависимостей в моем проекте ... Похоже, что это может быть проще и гибче. – Charlie

+0

Если вы можете написать достойный набор тестов, используя только assert, то это здорово. Это, как говорится, Mocha как зависимость довольно легкое и дает вам много интересных функций. –

1

Если вы новичок в Node.js и путаться со всей различной LIBS тестирования :

Преемник Expresso - Mocha. В мокко, можно использовать отдельный инструмент для тестирования ответа HTTP, такие как Request, SuperTest, zombie.js и т.д.

Zombie.js кажется самым простым, чтобы узнать, как использовать, особ. w/cookies и сеансы на основе файлов cookie. Он «поддерживает состояние по запросам: история, файлы cookie, локализация HTML5 и сеанс и т. Д.»