Как получить TestDriven.net для создания полезного XML-файла покрытия кода с помощью NCover?

Шаги к репро:

  1. Создайте проект C# в VS 2010 Professional для 32-разрядной версии Windows 7 Ultimate.
  2. Напишите несколько модульных тестов с помощью мастера тестов модулей VS C#
  3. Загрузите и установите последнюю версию RTM или бета-версию TestDriven.Net.
  4. Щелкните правой кнопкой мыши по проекту тестирования и выберите Test With NCover.
  5. Подождите
  6. Смотрите, что окно NCover пусто

Как получить TestDriven.net для создания полезного XML-файла покрытия кода с помощью NCover?

До сих пор я пытался перезагрузиться, удалить RTM-версию и установить бета-версию, а также запустить в режимах Debug & Release.

Обновление с текстом окна вывода:

------ Test started: Assembly: TestProject1.dll ------

NCover v1.5.8 - Code Coverage Analysis for .NET - http://ncover.com

NCover.Console v1.5.8 - Code Coverage Analysis for .NET - http://ncover.org
Copyright (c) 2004-2006 Peter Waldschmidt


Command: C:\Program Files\TestDriven.NET 3\ProcessInvocation86.exe
Command Args: "/assemblyName:TestDriven.TestRunner.Server, Version=3.2.2770.0, Culture=neutral, PublicKeyToken=50ecb853f8c6b8d2" "/xmlName:M:TestDriven.TestRunner.Coverage.NCoverCoverageTestRunner.OutOfProc.Run(System.String,System.String,System.String,System.String,System.String)" "/parameter:tcp://127.0.0.1:64445/7dbdb535-3602-4a8e-8bbc-f8be7eb83987" "/parameter:tcp://127.0.0.1:64445/fbff4f73-2438-43e4-b1f9-2bdaeb9c0907" "/parameter:C:\Users\Zian\Documents\Visual Studio 2010\Projects\ClassLibrary1\TestProject1\bin\Debug\TestProject1.dll" "/parameter" "/parameter"
Working Directory: 
Assemblies: ClassLibrary1;ClassLibrary1_Accessor;TestProject1
Coverage Xml: C:\Users\Zian\AppData\Local\Temp\Mutant Design\TestDriven.NET 2.0\Coverage\ClassLibrary1\TestProject1.xml
Coverage Log: Coverage.Log

Waiting for profiled application to connect...Connected
Configuring Profiler...
******************* Program Output *******************
Unable to establish communications with the profiler. (0x2)

NCover couldn't create a coverage report.

2 ответа

Решение
  1. Удалить бета-версию TestDriven.net
  2. Установите RTM-версию TestDriven.net

Эти 2 шага работают, потому что профилировщик NCover не зарегистрирован должным образом, как описано KiwiDude.

(Предполагается, что вы используете NCover 1.5.8, который поставляется с TDD.Net)

Я сделал именно то, что вы описали, и это прекрасно работает... Вот несколько вещей, которые следует учитывать:

  1. Вы уверены, что фактический XML-файл пуст? Попробуйте найти это здесь:C:\Users\USERNAME\AppData\Local\Temp\Mutant Design\TestDriven.NET 2.0\Coverage\YOURPROJECTили используйте что-то вроде Все (отличный бесплатный инструмент поиска), чтобы найти YourTestProject.xml, Возможно, есть проблема с GUI NCover.
  2. Были некоторые проблемы с интеграцией MSTest и NCover до 1.5.8. Попытайтесь воспроизвести это с помощью NUnit и посмотрите, что произойдет (на самом деле имхо, я все равно не вижу никакого преимущества для MSTest перед NUnit).
  3. Вы используете какой-либо другой профилировщик в дополнение к NCover? Это так, попробуйте отключить их.

РЕДАКТИРОВАТЬ: попробуйте выполнить действия, описанные в этой статье. Есть раздел под названием "NCover With TestDriven.NET".
Кажется, что профилировщик NCover не зарегистрирован должным образом, поэтому в основном вам нужно полностью удалить его вручную (TDD.Net, вероятно, не сделает этого за вас), и только затем переустановить.

Другие вопросы по тегам