Игнорируются результаты Spercun в Teamcity

specflow
team-city
Теги: #<Tag:0x00007fedb7aea5b8> #<Tag:0x00007fedb7aea478>

(qa_in_gene_qa_in_gene) #1

Всем привет.

Ребят, такая ситуация: eсть сьют с Specflow, SpecRun и TeamCity. Есть два commandLine build steps.
После выполнения первого билд степа генерится отчет. Далее хочу сделать чтобы на основании результатов тестов выполнялся (в случае упешного прохождения первого степа) или не выполнялся (в случае фейла) второй степ.

Execute step у обоих степов имеет “If all previous steps finished successfully” значение.

В логах вижу следующие записи:
21:22:09][Step 2/3] Done.
[21:22:10][Step 2/3] Result: 1 failed
[21:22:10][Step 2/3] Total: 6
[21:22:10][Step 2/3] Succeeded: 4
[21:22:10][Step 2/3] Ignored: 1
[21:22:10][Step 2/3] Pending: 0
[21:22:10][Step 2/3] Skipped: 0
[21:22:10][Step 2/3] Failed: 1
[21:22:10][Step 2/3]
[21:22:10][Step 2/3] Execution Time: 00:00:49.2397675
[21:22:10][Step 2/3] Report file: file:///C:\BuildAgent\work\610004617dbb0288\SpecflowReport.html
[21:22:10][Step 2/3] Process exited with code 0

Exit code = 0 и второй степ выполняется, хотя не должен.

Использовал regex из Additional Failure Conditions. Но она парсит логи только по завершению всего билда.

У кого есть какие идеи?


(qa_in_gene_qa_in_gene) #2

Задача решена. Добавлена проверка errorlevel -
@if ERRORLEVEL 440 ( EXIT -1 ) в runtests.cmd.

Может кому нужно, вот перечень errorlevel в SpecRun:
Unknown = 0,
Succeeded = 110,
Ignored = 120,
Pending = 210
NothingToRun = 310,
Skipped = 320,
Inconclusive = 410,
CleanupFailed = 420,
RandomlyFailed = 430,
Failed = 440,
InitializationFailed = 450,
FrameworkError = 510,
ConfigurationError = 520,