Squeak.ru - шаблоны программирования

ошибка при запуске транспортира с jasmine-репортерами

Я установил репортеры жасмина с помощью этой команды:

npm install --save-dev jasmine-reporters@^2.0.0

это важная часть файла конфигурации:

jasmineNodeOpts: {
    isVerbose: true,
    showColors: true,
    defaultTimeoutInterval: 360000,
    includeStackTrace: true
},

framework: 'jasmine2',

onPrepare: function() {
var jasmineReporters = require('jasmine-reporters');
jasmine.getEnv().addReporter(new jasmineReporters.JUnitXmlReporter({
    consolidateAll: true,
    savePath: 'testresults',
    filePrefix: 'xmloutput'
}));


browser.ignoreSynchronization = true;

}

при запуске теста, через s, пока я получаю это:

 Failed: Cannot call method 'results' of undefined
  Stack:
 Error: Failed: Cannot call method 'results' of undefined
    at /usr/local/lib/node_modules/protractor/node_modules/jasminewd2/index.js:102:16
    at [object Object].promise.ControlFlow.runInFrame_ (/usr/local/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/webdriver/promise.js:1877:20)
    at [object Object].promise.Callback_.goog.defineClass.notify (/usr/local/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/webdriver/promise.js:2464:25)
    at [object Object].promise.Promise.notify_ (/usr/local/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/webdriver/promise.js:563:12)

Любые идеи?

ОБНОВЛЕНИЕ: после обновления транспортира до 2.1.0 я получаю немного другую ошибку:

 Failed: Cannot call method 'results' of undefined
 Stack:
TypeError: Cannot call method 'results' of undefined
    at Object.exports.takeScreenshotOnFailure (/Users/myuser/Workspace/Spark/FrontEnd/test/spec/e2e/global/screenshots.js:23:13)
    at Object.<anonymous> (/Users/myuser/Workspace/Spark/FrontEnd/test/spec/e2e/CreateApp/createAppTest.js:23:16)
From: Task: Run afterEach in control flow
    at Array.forEach (native)

screenshots.js:

var fs = require('fs');
var spec=jasmine.getEnv().currentSpec;

function capture(name) {
browser.takeScreenshot().then(function (png) {
    var stream = fs.createWriteStream('screenshots/' + name + '.png');
    stream.write(new Buffer(png, 'base64'));
    stream.end();
})

}
exports.takeScreenshot = function (spec) {
capture(spec.description.split(' ').join('_'));
};

exports.takeScreenshotOnFailure = function (spec) {
if (spec.results().passed()) return;
capture(spec.description.split(' ').join('_'));
};

conf.js (соответствующая часть):

jasmineNodeOpts: {
    isVerbose: true,
    showColors: true,
    defaultTimeoutInterval: 360000,
    includeStackTrace: true
},

framework: 'jasmine2',

onPrepare: function() {
var jasmineReporters = require('jasmine-reporters');
jasmine.getEnv().addReporter(new jasmineReporters.JUnitXmlReporter({
    consolidateAll: true,
    savePath: '/TestResults',
    filePrefix: 'xmloutput'
}));

browser.ignoreSynchronization = true;

}

Ответы:


1

На самом деле это звучит очень похоже на Какая строка вызывает эту ошибку транспортира? , обновите транспортир до 2.1.0 или более новой версии:

npm install protractor@^2.1.0

Кроме того, поскольку вы используете jasmine2, вам нужно по-другому обрабатывать сбои спецификаций, см.:

30.06.2015
  • спасибо, я сделал это. Я все еще получаю ту же ошибку, но на этот раз кажется, что он не распознает spec.results () жасмина, когда spec = jasmine.getEnv (). CurrentSpec. Я добавляю conf.js к вопросу и новой ошибке. Благодарю. 01.07.2015
  • @ user2880391 да, я думаю, что дал вам ссылку, которая должна помочь решить проблему. Проверить это. 01.07.2015
  • Новые материалы

    Угловая структура архитектуры
    Обратите внимание, что эта статья устарела, я решил создать новую с лучшей структурой и с учетом автономных компонентов: https://medium.com/@marekpanti/angular-standalone-architecture-b645edd0d54a..

    «Данные, которые большинство людей используют для обучения своих моделей искусственного интеллекта, поставляются со встроенным…
    Первоначально опубликовано HalkTalks: https://hacktown.com.br/blog/blog/os-dados-que-a-maioria-das-pessoas-usa-para-treinar-seus-modelos-de-inteligencia-artificial- ja-vem-com-um-vies-embutido/..

    Сильный ИИ против слабого ИИ: различия парадигм искусственного интеллекта
    В последние годы изучению и развитию искусственного интеллекта (ИИ) уделяется большое внимание и прогресс. Сильный ИИ и Слабый ИИ — две основные парадигмы в области искусственного интеллекта...

    Правильный способ добавить Firebase в ваш проект React с помощью React Hooks
    React + Firebase - это мощная комбинация для быстрого и безопасного создания приложений, от проверки концепции до массового производства. Раньше (знаете, несколько месяцев назад) добавление..

    Создайте API с помощью Python FastAPI
    Создание API с помощью Python становится очень простым при использовании пакета FastAPI. После установки и импорта вы можете создать приложение FastAPI и указать несколько конечных точек. Каждой..

    Веселье с прокси-сервером JavaScript
    Прокси-серверы JavaScript — это чистый сахар, если вы хотите создать некоторую общую логику в своих приложениях, чтобы облегчить себе жизнь. Вот один пример: Связь клиент-сервер Мы..

    Получить бесплатный хостинг для разработчиков | Разместите свой сайт за несколько шагов 🔥
    Статические веб-сайты — это веб-страницы с фиксированным содержанием и его постоянным содержанием. Но теперь статические сайты также обрабатывают динамические данные с помощью API и запросов...