Просмотр результатов теста кармы в браузере?

Я новичок в Karma, но мне интересно, как просматривать его вывод в браузере (как и тот, с которым взаимодействует Jasmine, когда присутствует файл runner.html).

Я смотрел вводный скринкаст, и я понимаю, как просматривать тестовые выходы в окне консоли, но в моем браузере я не получаю почти никакого контента для Кармы, кроме

Карма - связанный

Пожалуйста, посоветуйте! Я хотел бы избежать необходимости поддерживать отдельный файл runner.html, так как файл конфигурации Karma уже требует, чтобы я включил все необходимые ссылки script.

Ответ 1

AFAIK, предыдущие два ответа верны в том, что вы хотите запускать тесты в браузере; нажмите DEBUG и просмотрите вывод в консоли.

Вежливо противоречащий предыдущему ответу, я регулярно делаю это и шаг за шагом отлаживаю с полным переменным взаимодействием, используя Карму.

Правильный ответ на ваш вопрос, потому что то, что вам нужно, - это результат, основанный на HTML, - это "нет". Однако этот плагин для кармы может дать вам желаемые результаты.

https://npmjs.org/package/karma-html-reporter

Ответ 2

Вам нужно запустить его с помощью singleRun = false в karma.conf.js, а затем нажать кнопку в верхнем углу, где указано "DEBUG". Затем вы должны увидеть выход, и он не исчезнет или не закроется. Вы также сможете использовать консоль для отладки.

Стоит отметить, что отладка тестов e2e не так проста, потому что они основаны на "будущем", поэтому вы не сможете перехватывать значения (afaik).

Ответ 3

Один из вариантов - открыть консоль Javascript в вашем браузере. Карма создает запись журнала для каждого теста, включая результат.

Ответ 4

Я хотел показать HTML5 Web Notifications с кармой, поэтому я написал что-то быстрое, чтобы заставить его работать с кармой версии 0.11. Может показаться немного отличающимся от других версий. Я загружаю этот script с остальными сценариями моего приложения, он будет хранить результаты теста кармы, и после его завершения он будет определять успех теста, а затем reset для исходных функций кармы, чтобы они не менялись, когда этот script снова запускается.

// store all my test results
var results = [];
// Wrap the karma result function
var resultFunc = window.__karma__.result;
window.__karma__.result = function(result){
    // run the original function
    resultFunc(result);
    // push each result on my storage array
    results.push(result);
}

// wrap the karma complete function
var completeFunc = window.__karma__.complete;
window.__karma__.complete = function(result){
    // run the original function
    completeFunc(result);
    // determine success
    var success = results.every(function(r){ return r.success });

    if (success) {
        // display a success notification
    }
    else {
        // display a test failure notification
    }

    // reset the result function
    window.__karma__.result = resultFunc;
    // reset the complete function
    window.__karma__.complete = completeFunc;
}