Как вы запускаете PartCover с пробелами в пути? - PullRequest
0 голосов
/ 10 июня 2010

У меня есть файл msbuild, который я пытаюсь запустить из Hudson CI. Это выводит как это

"C: \ Program Files \ Gubka Bob \ PartCover .NET 2 \ PartCover.exe "--target "C: \ Program Files \ Microsoft Visual Studio 9.0 \ Common7 \ IDE \ MSTest.exe " --target-args "/ noisolation" "/ testcontainer: C: \ CI \ Hudson \ jobs \ Video Розыгрыш \ рабочее место \ Source \ VideoRaffleCaller \ Source \ VideoRaffleCaller.Test.Unit \ Bin \ Debug \ VideoRaffleCaller.Test.Unit.dll» --include "[VideoRaffleCaller *] *" --output "Coverage \ partcover.xml"

Я получаю эту ошибку

Неверный переключатель «Розыгрыш \ рабочее место \ источник \ videorafflecaller \ источник \ videorafflecall er.test.unit \ Bin \ Debug \ videorafflecaller.test.unit.dll». Для синтаксиса переключателя введите «MSTest / help»

WTF? Похоже, PartCover плохо обрабатывает пробелы в --target-args. Или я где-то пропускаю цитаты? Кто-нибудь получил что-то, как работать?

1 Ответ

1 голос
/ 11 июня 2010

Вы совершенно правы, что забыли процитировать путь. Прочтите руководство о том, как интегрировать PartCover с MSBuild .

--target-args=
Argument specifies arguments for target process. If target argument 
contains spaces - quote . If you want specify quote (") in , then 
precede it by slash (\)

Поэтому попробуйте изменить параметр testcontainer на

"/ testcontainer: \" C: \ CI \ Hudson \ jobs \ Video Raffle \ workspace \ Source \ VideoRaffleCaller \ Source \ VideoRaffleCaller.Test.Unit \ bin \ Debug \ VideoRaffleCaller.Test.Unit.dll \ ""

...