Как преодолеть недостающее различие SonarQube между юнит-тестами и интеграционными тестами? - PullRequest
1 голос
/ 10 июля 2019

В SonarQube нет различия между юнит-тестами и интеграционными тестами. Это проблема.

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

Если SonarQube будет различать юнит-тесты и интеграционные тесты, то я бы сконфигурировал, что ворота качества не пройдут, если более чем 0 юнит-тестов не пройдут, и допустим, что интеграционные тесты не пройдут.

Поскольку в SonarQube больше нет такого различия, мы должны решить его в конвейере Jenkins, ожидая, что все небольшие тесты (модульные тесты) будут успешными, а крупные тесты (интеграционные тесты) - неудачными.

Я бы предпочел не отображать результаты теста в сборке Jenkins, а только в SonarQube. Но SonarQube не способен на такую ​​логику и не разделяет результаты теста (большие и маленькие).

Может быть, SonarQube пересмотрит это решение, чтобы объединить все виды результатов испытаний? Он должен быть еще более гибким, чем модульные / интеграционные тесты, и позволять настраивать группы тестов, например, небольшие / средние / большие тесты, с параметрами качества для каждого из них.

Или есть лучшее решение, чем мы используем в настоящее время?

...