Я очень новичок в использовании SonarQube / Cloud (поэтому, пожалуйста, будьте осторожны!) И пытаюсь понять, как улучшить «0% покрытие нового кода», которое есть в моем коде.
ВотНапример:
Я добавил код:
validation_errors = []
for field in required:
if field not in request.POST:
validation_errors.append("field '{0}' missing".format(field))
if len(validation_errors) > 0:
return JsonResponse({'errors': validation_errors}, status=400 )
и у меня есть тест (Джанго) для этого:
def test_required_params(self):
# no username
response = self.client.post(self.url, { 'password': 'secret', 'media_file': self.video_file })
self.assertRaises(forms.ValidationError)
self.assertEqual(response.status_code, 400)
Но когда я запускаю сонар,сканер, в онлайн-отчете я получаю сообщение о том, что эти строки не охвачены (см .: https://sonarcloud.io/component_measures?id=django_oppia&metric=new_coverage&selected=django_oppia%3Aapi%2Fmedia.py)
Я уверен, что у меня должна быть некоторая базовая ошибка / непонимание того, что метрика покрытия на самом делезначит.
Я был бы очень признателен, если бы кто-нибудь мог объяснить мне, что мне нужно добавить / обновить в моем коде (только конкретный пример выше), поэтому анализ SonarCloud не продолжает отмечать это как не
Спасибо за вашу помощь - если вам нужна дополнительная информация о коде / платформе / версиях и т. д., просто дайте мне знать.
Редактировать Команда сонара-сканерачто я запускаю:
sonar-scanner \
-Dsonar.projectKey=django_oppia \
-Dsonar.organization=alexlittle-github \
-Dsonar.sources=. \
-Dsonar.host.url=https://sonarcloud.io \
-Dsonar.login=xxxxxxxxxx \
-Dsonar.exclusions=docs/_build/**/*
Я запускаю это из корня моего исходного кода, и я не spисправлено / отредактировано что-либо в файле sonar / conf / sonar-scanner.properties (это просто установленная версия по умолчанию)