Как получить Pass Gateway Risk (Bluemix Devops Insights)?
Я настроил конвейер bluemix devops с включенным узлом шлюза DevOps. Результат модульного теста (формат mocha) и результат покрытия (формат istanbul) были загружены в тестовые задания (с использованием плагина grunt-idra3 npm, как и в учебнике ⇒ github url).
Тем не менее, моя работа с воротами все еще не выполнена, хотя модульный тест показывает 100% прохождение.
Очень признателен, если кто-то может мне помочь.
Все юнит-тесты пройдены, но все равно "решение для юнит-теста" не пройдено красным ⇒
Деталь политики и правил: политика "Стандартная политика испытаний Мокко"
Правило 1: Функциональный верификационный тест, Тип правила: Функциональный верификационный тест, Формат файла результатов: xUnit, Процентные проходы: 100%
Правило 2: Правило охвата Стамбула, Тип правила: Покрытие кода, Формат файла результата: Стамбул, Требуется минимальное покрытие кода: 80%
Правило 3: Правило модульного теста Mocha, Тип правила: Модульный тест, Формат файла результатов: xUnit, Процентные проходы: 100%
2 ответа
Потратив на это почти 3 недели, наконец-то я получил DevOps Gate Job полностью зеленым. Спасибо @Vijay Aggarwal и всем, кто помогал в этом вопросе.
Вот собственно, что случилось и как это решается окончательно.
[Первопричина]
- DevOps Insight "чувствителен к окружающей среде" на этапе принятия решения (но не при отображении результатов). В моем случае я включил "STAGING" в свойство "Environment Name" Gate Job, поэтому DevOps Insight неправильно оценивает все результаты теста, которые я загрузил как на этапе Staging, так и на этапе Build.
Правила DevOps также "чувствительны к формату результата", поэтому люди должны быть осторожны при выборе "репортера" для Мокко или Стамбула. В моем случае я определил файл gulp следующим образом, но неправильно установил тип результата "mocha" в определении правила политики.
gulp.task("test", ["pre-test"], function() { return gulp.src(["./test/**/*.js"], {read: false}) .pipe(mocha({ reporter: "mocha-junit-reporter", reporterOptions: { mochaFile: './testResult/testResult-summary.xml' } }));
[Как это решается]
- Оставьте поле "Имя среды" пустым для Gate Job.
- На странице определения правила (на странице политики DevOps) убедитесь, что форматом результата модульного теста является "xUnit".
Похоже, что существует несоответствие между форматом, указанным в правиле (xUnit), и форматом фактических результатов теста (Mocha).
Обновите правило, чтобы выбрать формат "Мокко" для юнит-тестов. Затем снова запустите ворота.