Wie benutzt man .testsettings
Datei läuft Unit-Tests über vstest.console.exe
? Ich habe eine leere Visual Studio-Lösung erstellt, ein leeres Unit-Test-Projekt erstellt und Local.testsettings
Datei als Lösungselement.
[TestClass]
public class UnitTest1
{
[TestMethod]
public void TestMethod1()
{
}
}
<?xml version="1.0" encoding="UTF-8"?>
<TestSettings name="Local" id="1109524d-9809-4423-b7fa-fad429ebfd8d" xmlns="http://Microsoft.com/schemas/VisualStudio/TeamTest/2010">
<Description>These are default test settings for a local test run.</Description>
<Deployment enabled="false" />
<Execution hostProcessPlatform="MSIL">
<TestTypeSpecific>
<UnitTestRunConfig testTypeId="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b">
<AssemblyResolution>
<TestDirectory useLoadContext="true" />
</AssemblyResolution>
</UnitTestRunConfig>
</TestTypeSpecific>
<AgentRule name="LocalMachineDefaultRole">
</AgentRule>
</Execution>
<Properties />
</TestSettings>
Alles ist in Ordnung, wenn ich meine Tests mit folgendem Befehl durchführe:
>> "[path to vstest]/vstest.console.exe" [path to project]\UnitTestProject1.dll
Der folgende Befehl gibt einen Fehler aus.
"[path to vstest]/vstest.console.exe" [path to project]\UnitTestProject1.dll /Settings:[path to settings file]\Local.testsettings
Warnung: Eine Testeinstellungsdatei oder eine Ausführungseinstellung mit einem ForcedLegacyMode-Wert von true wird vom MSTest V2-Adapter nicht unterstützt. In [Pfad]\UnitTestProject1.dll ist kein Test verfügbar. Stellen Sie sicher, dass Test Discoverer & Executor registriert sind und die Versionseinstellungen für Plattform & Framework korrekt sind, und versuchen Sie es erneut.
Darüber hinaus kann der Pfad zu Testadaptern mit dem Befehl/TestAdapterPath angegeben werden. Beispiel/TestAdapterPath :.
Also habe ich /TestAdapterPath:[project path/bin/Debug]
Parameter. Das Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.dll
mit Entdecker und Vollstrecker befindet sich hier. Aber ich habe den gleichen Fehler ohne den letzten Satz über die Angabe des Testadapters erhalten.
Ich habe mich gefragt, ob jemand dieses Problem lösen kann.
Die Lösung besteht darin, Microsoft.VisualStudio.QualityTools.UnitTestFramework
Anstelle von Microsoft.VisualStudio.TestPlatform.TestFramework
Zu verwenden, das Ihrem Komponententestprojekt standardmäßig von Visual Studio hinzugefügt wird. Sie können also zwei Pakete über NuGet
entfernen. Sie sollten MSTest.TestAdapter
Und MSTest.TestFramework
Löschen und Microsoft.VisualStudio.QualityTools.UnitTestFramework.Updated
Installieren. Ihre Unit-Tests werden nach diesen Schritten entdeckt.
Lesen Sie auch den folgenden nützlichen Artikel über Test Framework MSTest V2 .
Ich hatte das ähnliche Problem und habe es folgendermaßen gelöst:
Gehen Sie zu Test -> Testeinstellungen
Deaktivieren Sie das \..\..projectTestSettings.testsettings
Datei
Führen Sie die Tests erneut aus