2016-07-19 30 views
5

Wie kann ich vorhandene Testprojekte zum Kontextmenü für "Unit-Tests erstellen" in Visual Studio 2015 hinzufügen?Wie kann ich dem Kontextmenü "Unit-Tests erstellen" in Visual Studio 2015 zusätzliche Testprojekte hinzufügen?

Es wird nur eines der Testprojekte angezeigt (das Projekt wurde mit der Kontextaktion "Rechtsklick" erstellt). Das andere Projekt wurde mit dem neuen Projektassistenten erstellt und nicht angezeigt.

Missing Projects Available Unit Test Projects

Gibt es eine Möglichkeit bestehende Unit-Test-Projekte der Dropdown-Liste hinzufügen?

Antwort

1

Ich habe nicht festgenagelt, welche Schritte sind obligatorisch, aber unten sind die Schritte, die mir erlaubt, ein vorhandenes Projekt der Intellitest hinzufügen „Create Unit Test“ -Liste:

  • Referenz Microsoft.Pex.Framework Montage
  • Fügen Sie die Datei "PexAssemblyInfo.cs" in den speziellen Ordner des Eigenschaftenprojekts hinzu. Bearbeiten Sie entsprechend.
  • In CSPROJ Datei, fügen <TestProjectType>"UnitTest"</TestProjectType>-Tag, in <PropertyGroup> Knoten
  • In CSPROJ Datei, fügt <IsCodedUITest>False</IsCodedUITest>-Tag, in <PropertyGroup> Knoten In CSPROJ Datei (wahrscheinlich nicht erforderlich)
  • , fügen Sie „{3AC096D0- A1C2-E12c-1390-A8335801FDAB}“(Test-Projekttyp) zu <ProjectTypeGuids> Tag

Edit: Probe PexAssemblyInfo.cs conten t

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")] 
+0

Für was ist die PexAssemblyInfo.cs? – Silthus

+0

Er definiert Pex-spezifische Einstellungen, z. B. zu testende Baugruppe, referenzierte Baugruppe und dergleichen. Sie können ein solches aus einem automatisch generierten Intellitest-Projekt kopieren/einfügen. – Alexis

+0

Ich kann eine Assembly finden, die PEX oder ähnlich heißt. Beim Erstellen eines Xunit-Testprojekts über den Assistenten wird keine PexAssemblyInfo.cs-Datei erstellt. Wenn Sie nur die Zeilen TestProjectType und IsCodedUiTest hinzufügen, wird das Projekt nicht im Assistenten angezeigt. – Silthus