2015-08-17 3 views
1

Я использую транспортир с жасмином-репортерами 2.0.7Жасмин-репортеры modifySuiteName не работают?

Я попытался использовать параметр modifySuiteName для изменения имен пакетов.

Это то, что в моих conf.js:

multiCapabilities: [{ 
browserName: 'firefox' 
}, { 
browserName: 'chrome' 
}], 

onPrepare: function() { 
    var jasmineReporters = require('jasmine-reporters'); 
    return browser.getProcessedConfig().then(function(config) { 
     var browserName = config.capabilities.browserName; 
     jasmine.getEnv().addReporter(
     new jasmineReporters.JUnitXmlReporter({ 
      savePath: 'c://scripts', 
      filePrefix: browserName, 
      consolidateAll: true, 
      modifySuiteName: function(generatedSuiteName, suite) { 
       return browserName+ '.' + generatedSuiteName;} 
     })); 
    }); 
}, 

Я полагаю, чтобы увидеть

Тестов имя = "chrome.Demo App"

в chrome.xml

и

имя Тестов = "firefox.Demo App"

в firefox.xml

Но я могу видеть только

Тестов имя = "Demo App"

в обоих файлах.

В коде есть что-то неправильное?

ответ

1

Насколько я вижу, в коде отсутствует ошибка. Если ваш код генерирует хром и firefox xml, то все с вашей конфигурацией должно быть в порядке. Ваш код работает отлично в моем транспортире. Я использую Jasmine 2.3.1 с транспортиром 2.1.0. Попробуйте обновить структуру транспортира и жасмина до последней версии, а затем запустите тестовый набор. Чтобы обновить жасмин запустить следующую команду -

npm update -g jasmine 

Кроме того, если вы еще не добавили рамочный тега после тега multiCapabilities в вашем conf.js файла, то вы должны делать так, как показано ниже -

framework: 'jasmine2', 

Надеюсь, это решит вашу проблему.

+0

Спасибо за ваш ответ. Я использую Jasmine 2.3.4, и у меня есть эта строка 'framework: 'jasmine2',' в моем conf.js. Но мои firefox.xml и chrome.xml не имеют разницы в имени testuite или имени класса testcase. – Arwin

+0

@Arwin У меня почти такая же инициализация 'JUnitXmlReporter', и я вижу имена наборов, добавленные в результирующий файл XML. [Суть] (https://gist.github.com/alecxe/08d321655373ccef44ac). – alecxe

+0

@alecxe Я скопировал ваш onPrepare для замены моего, но все же не могу видеть, что имена пакетов изменяются соответствующим образом. Я использую транспортир 2.1.0 с жасмином-репортерами 2.0.7 и жасмином 2.3.4. Мой spec.js похож на 'описать ('Demo App', function() {...... it ('initializes browser', function() ......' Теперь два вывода xml, например _testcase classname = "Demo App" name = "initializes browser" _ – Arwin

2

Хорошо, теперь я выясняю, что моя проблема вызвана глупой ошибкой.

Я использую окна 8 и запускаю cmd под папкой c: \ scripts.

Я так ново для nodejs и НПМ, что в процессе установки я использовал npm install --save-dev [email protected]^2.0.0 и несколько дней спустя я npm install -g [email protected] Итак, есть 2 жасмин-репортеров в моей системе, один в C: \ Users \ ххх \ AppData \ Roaming \ НПМ \ node_modules \ жасмин-репортеры

и еще в C: \ Scripts \ node_modules \ жасмин-репортеры,

с версии 2.0.7 и 2.0.0 в package.json, соответственно.

Я просто обновляю свои жасмин-репортеры в C: \ scripts \ node_modules до 2.0.7, и, наконец, скрипт работает!

Спасибо за ваше время, я очень ценю это.

 Смежные вопросы

  • Нет связанных вопросов^_^