Что ж, я остановился на чем-то вроде ответа Стивена Уорда. Я поместил все файлы покрытия в каталог и запустил NCover.Reporting.exe Path\To\My\Directory\*.xml //s Merged.nccov
.
Однако он не получает галочку, потому что его ответ о том, что я не могу использовать подстановочный знак в командной строке, неверен; на самом деле подстановочный знак — это единственный способ, с помощью которого NCover распознает XML-файлы в этом каталоге. Я думаю, что он привык к миру Unix (учитывая, что в его ответе был некоторый FUD Unix), где оболочка берет на себя ответственность за обработку подстановочных знаков. Оболочка Windows не пытается расширять подстановочные знаки, поэтому мы не столкнулись с ограничениями по длине.
Тем не менее, с помощью этого решения я смог сделать наши прогоны примерно на 20% быстрее, чем старый метод слияния после каждого теста, что хорошо. (Прогоны с покрытием по-прежнему в четыре раза длиннее, чем прогоны без покрытия, но нам не нужно запускать покрытие для каждого теста)
Когда я попробовал ответ commondream, к сожалению, NCover регулярно вылетал. Я не думаю, что ему нравится, что тестовая система запускает сборки .NET 1, 1.1, 2.0, 3.0, 3.5 и 4.0, а также такие вещи, как пакеты Silverlight и компактный фреймворк (Наш продукт должен корректно работать на все эти сборки). Если вам не нужно сходить с ума, запуская такие вещи, то вариант //pn
, который он описывает, вероятно, будет работать нормально.
Когда я попробовал ответ joe.feser, к сожалению, мне не удалось выяснить формат файла настроек отчетов NCover. Имеется обширная документация по XML, который принимает средство создания отчетов; за исключением корневого XML-узла, который он ищет. Он отказывался распознавать какие-либо XML-файлы, которые я сгенерировал, потому что корневой узел был назван неправильно; Я предполагаю, что это проверялось на соответствие какой-то форме DTD, о которой я не знал. Если кто-то хочет опубликовать пример файла, пожалуйста.
Надеюсь, это поможет всем, у кого возникнут подобные проблемы в будущем :)
person
Community
schedule
30.07.2010