В рамках тестирования покрытия кода мне нужно протестировать несколько сервисов. В github OpenCover упоминается возможность сделать это (проблема № 36), но не сообщается, как это сделать. На странице вики «Использование» ничего об этом не упоминается. opencover -?
вызывает упоминание о переключателе -service
без какого-либо описания того, что именно он делает и как его использовать. Может ли кто-нибудь сказать мне, как работает этот переключатель и как я могу подключиться к службе с его помощью?
Как мне подключиться к сервису с OpenCover?
Ответы (1)
При установке OpenCover вы обнаружите, что существует документ Usage.rtf, в котором описывается, как использовать OpenCover против сервис.
В основном вам нужно запускать OpenCover под учетной записью администратора с предварительно зарегистрированными профайлерами (используйте regsvr32). Переключатель службы должен предоставлять имя службы.
Это довольно сложно сделать, поэтому я рекомендую вам создать свой сервис с консольным режимом работы, поскольку тогда выполнение покрытия под обычной учетной записью пользователя имеет меньше ограничений и его намного проще настроить.
person
Shaun Wilde
schedule
08.02.2012
Большое спасибо! Еще один вопрос: при выполнении теста покрытия для службы, как мне указать PDB? Использование
-targetdir
не работает даже после перемещения PDB в простой каталог, например C:\.
- person psamsonov; 09.02.2012
Вы должны иметь возможность хранить PDB в той же папке, что и служба - вот как это сработало для меня. Если это не работает должным образом, отметьте проблему как ошибку на GitHub; желательно с образцом, который помогает воспроизвести проблему.
- person Shaun Wilde; 10.02.2012