Тестирование ответов в node.js? - PullRequest
7 голосов
/ 24 февраля 2012

Я только что скачал mocha.js и провел несколько базовых тестов с expect.js, чтобы убедиться, что он работает правильно.

Но как насчет тестирования ответов в моем приложении node по определенному URL?Т.е. как мне проверить, какой ответ я получу, например, от перехода на /users?

Используя Expresso, предшественника mocha.js, я могу сделать assert.response(server, req, res|fn[, msg|fn]) и проверить ответ.

1 Ответ

6 голосов
/ 24 февраля 2012

Это одна вещь, которая мне нравится в Node.js / Javascript, делать подобные вещи просто, как только вы освоите их.

Короче говоря, вы запускаете код своего сервера и затем фактически используете Запрос или Superagent для выполнения этих HTTP-запросов.Я лично предпочитаю Superagent из-за его автоматического кодирования JSON, но будьте осторожны, документы устарели и неверны, YMMV.Большинство людей выбирают Request.

Простой пример Mocha, используя Request:

describe('My Server', function(){
    describe('GET /users', function(){
        it("should respond with a list of users", function(done){
            request('http://mytesturl.com/users', function(err,resp,body){
                assert(!err);
                myuserlist = JSON.parse(body);
                assert(myuserlist.length, 12); 
                done(); 
            }); 
        }); 
    });
});

Надеюсь, это поможет.Вот пример моего тестирования Mocha (CoffeeScript) с использованием этого стиля с полными подробными примерами: https://github.com/jprichardson/logmeup-server/blob/develop/test/integration/app.test.coffee Да, он также использует Superagent.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...