Согласно this schema VS2010 Premium и Ultimate имеет инструмент для проверки покрытия кода - вместе с несколькими другими инструментами для тестирования. Поддерживает ли это nUnit, или просто MS-тест?Поддерживает ли VS2010 поддержку покрытия кода nUnit?
ответ
Это выполнимо, но для этого требуется . Я просто получил работу с xUnit. Предположительно, ниже будет работать и с NUnit.
Для этого на работу, вам нужно три проекта
- тестируемой системы - SUT
- Испытательный проект с помощью своей любимой основы модульного тестирования - xUnitTest
Испытательный проект VS VS - VSTest
- Создание VSTest проекта (дыхание легкого)
- Удалить UnitTest1.cs по умолчанию файл
- Добавить «Generic Test» для VSTest
- Укажите полный путь к версии win32 консольного бегун для вашей среды тестирования, например xunit.console.x86.ехе
- Укажите полный путь к xUnitTest DLL
- Под VS Test Меню-> Edit Test Настройки-> информации локального>
- данных & Диагностика "Tab"
- Убедитесь только код Покрытие включено
- Выбор покрытия кода строки, а затем нажмите кнопку «Настройка» выше (да, это хорошо спроектированный интерфейс :)
- В «Код покрытия Detail» Диалог
- Выберите как Библиотеки DLL для SUT и xUnitTest
- Включить "сборки инструмента в тесте"
Теперь, когда вы запустите тест VS2010, это будет правильно инструментальный тест dll, запустить runner кода и собрать информацию в Visual Studio.
Насколько я знаю, это не так. Однако наш инструмент TestMatrix.
Благодарим за комментарий. +1. Не знаю, могу ли я доверять этому без источника, если вы действительно продаете конкурирующий продукт: -P. Поэтому я оставлю это надолго. – stiank81
Это справедливо. Вам не нужно доверять мне - загрузите пробную версию VS2010 и посмотрите на нее сами :) И мы не конкурируем с VS - мы предлагаем дополнительные продукты, чтобы улучшить ее ... BTW, я просто попробовал встроенный запустить dasBlog (использует NUnit) в VS2010 Premium - он не видит теста. VS2010 Пробная загрузка находится здесь - http://msdn.microsoft.com/en-us/vstudio/bb984878.aspx – sergeb
Теоретически, он должен. Существует даже documentation for it on MSDN. В принципе, вам нужно настроить «общий тестовый проект», который завершает тест NUnit. На практике я пытаюсь заставить его работать уже почти три часа, и это все еще не так. Сборка оснащена, но нет результатов покрытия.
Я всегда получаю это сообщение: «Пустые сгенерированные результаты: ни один из инструментальных двоичных файлов не использовался. Посмотрите сведения о тестовом прогоне для любых проблем с прибором». Однако в этом файле нет проблем.
Также появляется ошибка VSPerf в журнале событий. I submitted this as a bug to Microsoft. Однако это может быть связано с моей машиной. Поскольку я только что представил эту ошибку, я пока не знаю, смогут ли другие воспроизвести проблему или нет.
Звучит разочаровывающе. Я еще не пробовал себя, но похоже, что тогда это возможно. Пожалуйста, кричите, если вы это выясните! – stiank81
Я попытался установить это и получил nunit, работающий с инструментальными сборками, но данные покрытия кода отсутствуют. Повышена ваша ошибка на сайте MS. – LeffeBrune
Убедитесь, что вы используете x86 runner для своих тестов (nunit-console-x86.exe). – LeffeBrune
После того, как это заняло чуть больше часа, я не мог заставить его работать правильно. Я смог получить общий тест, который работает правильно с помощью инструментария для NUnit 2.5.5 с помощью nunit-console.exe. Хотя бегун консоли NUnit успешно прошел мой тест через общий VSTest, я никогда не мог генерировать результаты покрытия кода.
Хотя тестовые характеристики VS2010 звучат здорово при чтении о них, реализация кажется слишком сложной и очень тяжелой. Я использую NUnit в течение многих лет с большим успехом и очень низким трением.
Я решил опробовать JetBrains dotCover бета-версию и в течение 5 минут я ее загрузил, установил, и смог настроить и использовать его очень успешно. Он легко интегрируется в ReSharper 5 и просто работает для моих тестов NUnit. Выделение кода - отличный визуальный инструмент для быстрого поиска блоков кода, которые не были выполнены с помощью тестов.
Вам нужно отключить теневую копию в NUnit, чтобы заставить его работать. Для этого используйте флаг/noshadow.
например. C: \ Program Files (x86) \ NUnit 2.6 \ bin \ nunit-console-x86.exe MyLibrary.dll/noshadow
Я пробовал каждый метод, который я нашел в Google, чтобы включить это, а затем решил дать TestDriven.NET a пытаться. Он работал блестяще: право-клик на решении, тест с охватом и сделано. Серьезно, это не могло быть легче.
У меня была такая же проблема, и я узнал, как ее решить. DLL проекта, показанная в диалоговом окне «Cover Coverage Detail», является неправильной сборкой, которая должна быть инструментальной, и этот способ дает пустые результаты. Поэтому вам нужно получить эту DLL из другой папки, она находится в папке тестового проекта модуля! Поскольку вы добавили ссылку на свой тестовый проект, он будет там. Так, например, в моем случае я создал простой калькулированный калькулятор проекта, а затем создал единый тестовый проект под названием TestCalculator и добавил Calculator.dll в качестве ссылки в проектном модульном проекте. Поэтому в диалоговом окне «Обозначение покрытия кода» я нажимаю «Добавить сборку», и я выбираю Calculator.dll из папки «.. \ TestCalculator \ bin \ Debug». Таким образом, это сработает.
Visual Studio 2012 добавила поддержку сторонних модулей тестирования модулей.
Испытуемые доступные рамочные модули включают в себя:
- NUnit
- xUnit.net
- MbUnit
- QUnit
- Жасмин
Добавление поддержки очень легко, потому что вы можете добавьте его из диспетчера расширений Visual Studio.
Например, вы можете добавить "NUnit Test Adapter".
И вот «Анализ покрытия кода» работает с каркасом стороннего блока. Вы можете проверить все тесты или только один.
И если вы используете VS 2010, не бойтесь обновляться до VS2012, потому что sln-файлы совместимы (вам нужно VS2010 с пакетом обновления 1).
Это способ сделать это. Я не буду тратить время на выполнение тикаемого (более сложного решения), когда это будет работать нормально. –
Применяется только к VS2012 Ultimate или Premium. «Анализ покрытия кода» недоступен для профессионалов. [источник] (http://msdn.microsoft.com/en-us/library/dd537628.aspx) и [источник] (http://social.msdn.microsoft.com/Forums/vstudio/en-US/afd3ee87 -76e4-499d-ad8a-dbc6adb96cb9/видео-студия-профессионал-2012-Тереза-нет кнопки-анализа кода-покрытие) –
Многие ответы в этой теме мне очень помогли, но, черт возьми, получить все мелкие детали из нескольких ответов.
Я составил список из 6 подсказок, которые вместе с маркированной ответ Скотт Вайнштейн сделал трюк для меня: Running NUnit tests in Visual Studio 2010 with code coverage
Хотя я не заслуживаю upvotes на обоих ответов, только пощади меня downvotes для копирования:
- Scott Weinstein
- Джон и Скотт Маккей
- Lili
- mnemosyn
Продвиньте их!
- 1. Поддерживает ли дротик поддержку двоичного кода?
- 2. Поддерживает ли github поддержку?
- 3. анализа покрытия кода: передать аргументы NUnit
- 4. Поддерживает ли нить поддержку?
- 5. Поддерживает ли EasyNetQ поддержку?
- 6. Поддерживает ли NUnit Nullables?
- 7. Поддерживает ли флеш-поддержку поддержку UTF-8?
- 8. Поддерживает ли Android поддержку log2
- 9. Поддерживает ли VS2010 мульти-приложение?
- 10. Поддерживает ли Android поддержку JDBC
- 11. Поддерживает ли подзапрос поддержку SparkSQL?
- 12. Поддерживает ли Omniture поддержку API?
- 13. Поддерживает ли iPad поддержку 4096x4096?
- 14. Поддерживает ли Cohttp_mirage.Client поддержку TLS?
- 15. Поддерживает ли CakePHP поддержку nonce?
- 16. Поддерживает ли хром поддержку «addEventListener»?
- 17. Поддерживает ли Spring поддержку SharePoint
- 18. Поддерживает ли Zeep поддержку вложений?
- 19. Поддерживает ли SSL поддержку SSL?
- 20. Поддерживает ли V8 поддержку Unicode?
- 21. Поддерживает ли iPhone поддержку пикселя?
- 22. Поддерживает ли SQLite поддержку репликации?
- 23. Поддерживает ли nodejitsu поддержку makefile?
- 24. Поддерживает ли Wix3.5 в VS2010?
- 25. Поддерживает ли Android поддержку Apache POI API
- 26. Поддерживает ли регулятор громкости Apple TV поддержку?
- 27. Поддерживает ли Spring-данные поддержку RepositoryMetadata?
- 28. Поддерживает ли Telerik поддержку бизнес-объектов Datasources?
- 29. Идентификация, какие тесты предоставляют покрытие в результатах покрытия кода VS2010
- 30. VS2010 Покрытие кода неточно
Спасибо! Не тот гладкий ответ, на который я надеялся, хотя .. :-P – stiank81
Пробовал уже несколько часов. Я получаю инструментальные сборки, переданные в nunit-console, но никогда не получаю результаты покрытия кода. – LeffeBrune
Есть небольшая деталь, которая ускользнула от меня - вам абсолютно необходимо использовать x86 runner для ваших тестов (например, nunit-console-x86.exe). Менял тестовый бегун на исправленные проблемы x86, которые у меня были. – LeffeBrune