Я запускаю тестовые примеры на Jenkins
, используя nunit3-console.exe
. Некоторые тестовые случаи не пройдены, но генерируется nunit-result.xml
.
При сбое тестовых сценариев Jenkins
работа завершается с кодом ошибки -2 . Итак, я поставил EXIT 0
, который продолжает работу Jenkins
, я все еще получаю файл nunit output
, который nunit-result.xml
.
Затем я передаю этот xml-файл на сонар-сканер, чтобы увидеть покрытие кода на SonarQube
Dashboard.
Все отлично работает. Jenkins
Работа выполнена успешно. Но я не вижу покрытия кода на SonarQube
DashBoard.
Команда для создания выходного файла (nunit-result.xml
):
(path)\\nunit3-console.exe (path)\\Test.Common.dll --result=(path)nunit-result.xml;format=nunit2
"Test.commom.dll" is Test case File.
"nunit-result.xml is output file generated.
Before It was giving error that <test-result> element not found then I put "format=nunit2" which gave me right output.
After this I run this code:-
(path)\\sonar-scanner
-Dsonar.projectKey=${projectKey}
-Dsonar.projectName=${projectKey}
-Dsonar.organization=organization
-Dsonar.host.url=http://sonar.(server-path).com
-Dsonar.login=username
-Dsonar.password=pasword
-Dsonar.sourceEncoding=UTF-8
-Dsonar.sources=.
-Dsonar.projectVersion=1.0
-Dsonar.cs.nunit.reportsPaths=(path)\\nunit-result.xml
-Dsonar.exclusions=**/bin/**,**/obj/**,**/node_modules/**,**/*.spec.ts"
После этого я должен увидеть покрытие кода на SonarQube
Dashboard. Но я вижу все остальное, кроме покрытия кода.
P.S. : Используется "(путь)" только для примера, я заменяю его на правильный путь к файлу?