Как мне подключиться к сервису с OpenCover?

В рамках тестирования покрытия кода мне нужно протестировать несколько сервисов. В github OpenCover упоминается возможность сделать это (проблема № 36), но не сообщается, как это сделать. На странице вики «Использование» ничего об этом не упоминается. opencover -? вызывает упоминание о переключателе -service без какого-либо описания того, что именно он делает и как его использовать. Может ли кто-нибудь сказать мне, как работает этот переключатель и как я могу подключиться к службе с его помощью?


person psamsonov    schedule 08.02.2012    source источник


Ответы (1)


При установке OpenCover вы обнаружите, что существует документ Usage.rtf, в котором описывается, как использовать OpenCover против сервис.

В основном вам нужно запускать OpenCover под учетной записью администратора с предварительно зарегистрированными профайлерами (используйте regsvr32). Переключатель службы должен предоставлять имя службы.

Это довольно сложно сделать, поэтому я рекомендую вам создать свой сервис с консольным режимом работы, поскольку тогда выполнение покрытия под обычной учетной записью пользователя имеет меньше ограничений и его намного проще настроить.

person Shaun Wilde    schedule 08.02.2012
comment
Большое спасибо! Еще один вопрос: при выполнении теста покрытия для службы, как мне указать PDB? Использование -targetdir не работает даже после перемещения PDB в простой каталог, например C:\. - person psamsonov; 09.02.2012
comment
Вы должны иметь возможность хранить PDB в той же папке, что и служба - вот как это сработало для меня. Если это не работает должным образом, отметьте проблему как ошибку на GitHub; желательно с образцом, который помогает воспроизвести проблему. - person Shaun Wilde; 10.02.2012