Как использовать ApprovalTests в Teamcity?

Я использую Approval Tests . На моей машине разработки я доволен DiffReporter, который запускает TortoiseDiff , когда результаты моего теста отличаются от одобренных :

    [UseReporter(typeof (DiffReporter))]
    public class MyApprovalTests
    {... }

. Однако, когда одни и те же тесты выполняются в Teamcity, а результаты разные, тесты завершаются со следующей ошибкой:

System.Exception : Unable to launch: tortoisemerge.exe with arguments...
Error Message: The system cannot find the file specified
---- System.ComponentModel.Win32Exception : The system cannot find the file 
                                                                 specified

Очевидно, он не может найти tortoisemerge.exe, и это нормально, потому что он не установлен в агенте сборки. Но что, если он будет установлен? Тогда при каждом сбое будет запускаться другой экземпляр tortoisemerge.exe, и никто его не закроет. В конце концов тонны экземпляров tortoisemerge.exe убьют наши серверы:)

Итак, вопрос --в том, как должны быть оформлены тесты для запуска Tortoise Diff на локальной машине. и просто сообщать об ошибках на сервере сборки? Я знаю о #IF DEBUG [UseReporter(typeof (DiffReporter))], но предпочел бы другое решение, если это возможно.

12
задан the_joric 30 March 2012 в 14:29
поделиться