Как добавить дополнительные тестовые проекты в контекстное меню «Создать юнит-тесты» в Visual Studio 2015?

visual-studio unit-testing visual-studio-2015 xunit

244 просмотра

1 ответ

928 Репутация автора

Как добавить существующие тестовые проекты в контекстное меню правой кнопкой мыши для «Создание модульных тестов» в Visual Studio 2015?

Он показывает только один из тестовых проектов (проект был создан с помощью контекстного действия правой кнопкой мыши). Другой проект был создан с помощью мастера создания нового проекта и не отображается.

Недостающие проекты Доступные проекты модульных тестов

Есть ли способ добавить существующие проекты модульных тестов в выпадающий список?

Автор: Silthus Источник Размещён: 19.07.2016 09:47

Ответы (1)


1 плюс

299 Репутация автора

Я не определил, какие шаги являются обязательными, но ниже приведены шаги, которые позволили мне добавить существующий проект в список Intellitest "Create Unit Test":

  • Справочная Microsoft.Pex.Frameworkсборка
  • Добавьте файл «PexAssemblyInfo.cs» в специальную папку проекта «Свойства». Отредактируйте соответственно.
  • В файле .csproj добавьте <TestProjectType>"UnitTest"</TestProjectType>тег, в <PropertyGroup>узле
  • В файле .csproj добавьте <IsCodedUITest>False</IsCodedUITest>тег в <PropertyGroup>узел (вероятно, не требуется)
  • В .csproj файле, добавьте "{3AC096D0-A1C2-E12C-1390-A8335801FDAB}" (Test тип проекта) в <ProjectTypeGuids>теге

Изменить: пример содержимого PexAssemblyInfo.cs

using Microsoft.Pex.Framework.Coverage;
using Microsoft.Pex.Framework.Creatable;
using Microsoft.Pex.Framework.Instrumentation;
using Microsoft.Pex.Framework.Settings;
using Microsoft.Pex.Framework.Validation;

// Microsoft.Pex.Framework.Settings
[assembly: PexAssemblySettings(TestFramework = "xunit-2.0")]

// Microsoft.Pex.Framework.Instrumentation
[assembly: PexAssemblyUnderTest("{YOUR-PROJECT-NAME}")]
[assembly: PexInstrumentAssembly("System.Runtime.Extensions")]
[assembly: PexInstrumentAssembly("System.Linq.Expressions")]
[assembly: PexInstrumentAssembly("System.Threading")]
[assembly: PexInstrumentAssembly("System.Reflection.Extensions")]
[assembly: PexInstrumentAssembly("System.Reflection")]
[assembly: PexInstrumentAssembly("System.Diagnostics.Debug")]
[assembly: PexInstrumentAssembly("System.Runtime")]
[assembly: PexInstrumentAssembly("System.Threading.Tasks")]
[assembly: PexInstrumentAssembly("System.Collections")]

// Microsoft.Pex.Framework.Creatable
[assembly: PexCreatableFactoryForDelegates]

// Microsoft.Pex.Framework.Validation
[assembly: PexAllowedContractRequiresFailureAtTypeUnderTestSurface]
[assembly: PexAllowedXmlDocumentedException]

// Microsoft.Pex.Framework.Coverage
[assembly: PexCoverageFilterAssembly(PexCoverageDomain.UserOrTestCode, "System.Runtime.Extensions")]
[assembly: PexCoverageFilterAssembly(PexCoverageDomain.UserOrTestCode, "System.Linq.Expressions")]
[assembly: PexCoverageFilterAssembly(PexCoverageDomain.UserOrTestCode, "System.Threading")]
[assembly: PexCoverageFilterAssembly(PexCoverageDomain.UserOrTestCode, "System.Reflection.Extensions")]
[assembly: PexCoverageFilterAssembly(PexCoverageDomain.UserOrTestCode, "System.Reflection")]
[assembly: PexCoverageFilterAssembly(PexCoverageDomain.UserOrTestCode, "System.Diagnostics.Debug")]
[assembly: PexCoverageFilterAssembly(PexCoverageDomain.UserOrTestCode, "System.Runtime")]
[assembly: PexCoverageFilterAssembly(PexCoverageDomain.UserOrTestCode, "System.Threading.Tasks")]
[assembly: PexCoverageFilterAssembly(PexCoverageDomain.UserOrTestCode, "System.Collections")]
Автор: Alexis Размещён: 29.07.2016 07:07
Вопросы из категории :
32x32