Подтвердить что ты не робот

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

Шаги к Repro:

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

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

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

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

------ 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.
4b9b3361

Ответ 1

  • Удалите бета-версию TestDriven.net
  • Установите RTM-версию TestDriven.net

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

Ответ 2

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

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

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

EDIT: Попытайтесь выполнить шаги в в этой статье. Там раздел под названием "NCover With TestDriven.NET".
Похоже, что профилировщик NCover не зарегистрирован должным образом, поэтому в основном вам нужно полностью удалить его (TDD.Net, вероятно, не делает этого для вас), и только затем переустановите его.