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")]
Für was ist die PexAssemblyInfo.cs? – Silthus
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
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