TFS и покрытие кода для сборок веб-приложений (MVC) не работают - PullRequest
1 голос
/ 12 мая 2010

У меня есть веб-приложение MVC со связанными тестами контроллера, которые выполняются под сборкой TFS, как обычно.

Я вижу тесты, выполняющиеся и проходящие в журнале сборки, и они отображаются в разделе «Сведения о результате для любого процессора / выпуска» сборки

У меня также есть ряд других сборок со связанными тестами, которые выполняются в той же сборке. Тесты проходят, и детали отображаются в результатах и ​​журналах просто отлично.

Я включил покрытие кода в скрипте сборки и testrunconfig.
Покрытие появляется для всех сборок, КРОМЕ веб-приложения, несмотря на то, что похоже, что для него были проведены тесты.

Есть ли что-то очевидное, что я пропустил, или какая-то работа вокруг, что мне нужно сделать? Я долго искал и не нашел ответа.

Кто-нибудь получил покрытие кода, работающее для веб-приложений MVC, использующих TFS?

Ответы [ 2 ]

2 голосов
/ 03 июня 2010

После прочтения ранее опубликованной статьи я подумал, что попробую альтернативный подход.

просматривая localrun.testconfig в текстовом редакторе, я увидел, что сборки, содержащие данные о покрытии кода, были в разделе ниже

<Regular> <CodeCoverageItem ... /> <CodeCoverageItem ... /> </Regular>

Единственная ссылка на веб-проект была в разделе:

<AspNet> <AspNetCodeCoverageItem id="..." name="..." applicationRoot="/" url="http://localhost:0/" /> </AspNet>

Итак, чтобы получить покрытие кода, работающее в TFS:
В VS IDE дважды щелкните localrun.testconfig , затем нажмите Покрытие кода и затем вручную добавьте сборку MVC, нажав кнопку Добавить сборку ... . Вы получите предупреждающее сообщение о дублирующих сборках, попросите его использовать этот новый файл.

Что скрыто происходит в localrun.testconfig, так это добавление CodeCoverageItem запись со сборкой MVC и удаляет раздел AspNet из раздела CodeCoverage файла.

Это дает дополнительное преимущество - не запускайте локальный веб-сервер при каждом запуске тестов.

Но это может оказать пагубное влияние на любые тесты и покрытие типа Ватина.

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

Team Build, Code Coverage и MVC Ричарда Феннелла выглядит довольно детально.

...