Подтвердить что ты не робот

Отладка тестов jasmine- node с помощью node -инспектор

Кто-нибудь знает, возможно ли это? Большая часть образца для node -инспектора, похоже, была направлена ​​на отладку вызываемой веб-страницы. Я бы хотел, чтобы вы могли отлаживать тесты jasmine- node.

4b9b3361

Ответ 1

В итоге я написал небольшую утилиту, которая называется toggle:

require('tty').setRawMode(true);
var stdin = process.openStdin();

exports.toggle = function(fireThis)
{
    if (process.argv.indexOf("debug")!=-1)
    {
        console.log("debug flag found, press any key to start or rerun. Press 'ctrl-c' to cancel out!");
        stdin.on('keypress', function (chunk, key) {
            if (key.name == 'c' && key.ctrl == true)
            {
                process.exit();
            }
            fireThis();
        });
    }
    else
    {
        console.log("Running, press any key to rerun or ctrl-c to exit.");
        fireThis();
        stdin.on('keypress', function (chunk, key) {
            if (key.name == 'c' && key.ctrl == true)
            {
                process.exit();
            }
            fireThis();
        });



    }
}

Вы можете поместить его в свои модульные тесты, например:

var toggle = require('./toggle');

toggle.toggle(function(){

    var vows = require('vows'),
    assert = require('assert');

    vows.describe('Redis Mass Data Storage').addBatch({

....

И затем запустите свои тесты, например: node --debug myfile.js debug. Если вы запустите debug toggle, вы будете ждать, пока вы ничего, кроме ctrl-c. Ctrl-c завершает работу. Вы также можете повторить, что приятно.

w0000t.

Ответ 2

Короче говоря, просто отлаживаем жасмин - node:

node --debug-brk node_modules/jasmine-node/lib/jasmine-node/cli.js spec/my_spec.js

Если вы посмотрите на источник jasmine-node script, он просто вызывает cli.js, и я обнаружил, что могу отлаживать этот script просто отлично.

Я хотел использовать node-inspector для отладки теста CoffeeScript. Просто добавление переключателя --coffee работало красиво, например.

node --debug-brk node_modules/jasmine-node/lib/jasmine-node/cli.js --coffee spec/my_spec.coffee

Ответ 3

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

У меня было подобное желание, и я смог работать с Eclipse в качестве отладчика: http://groups.google.com/group/nodejs/browse_thread/thread/af35b025eb801f43

... но я понял: если мне нужно было пройти через мой код, чтобы понять это, мне, вероятно, нужно будет реорганизовать код (возможно, более подверженному тестированию) или разбить мои тесты на более мелкие единицы.

Ваши тесты - ваш отладчик.