it-swarm.com.de

Testmethode ist nicht schlüssig: Test wurde nicht ausgeführt. Error?

Ich habe eine Testklasse und im Folgenden habe ich eine Testprobe aus der Testklasse gepostet

namespace AdminPortal.Tests.Controller_Test.Customer
{
    [TestClass]
    public class BusinessUnitControllerTests
    {
        private IBusinessUnitRepository _mockBusinessUnitRepository;
        private BusinessUnitController _controller;

        [TestInitialize]
        public void TestInitialize()
        {
            _mockBusinessUnitRepository = MockRepository.GenerateMock<IBusinessUnitRepository>();
            _controller = new BusinessUnitController(_mockBusinessUnitRepository);
        }

        [TestCleanup]
        public void TestCleanup()
        {
            _mockBusinessUnitRepository = null;

            _controller.Dispose();
            _controller = null;

        }

        #region Index Action Tests
        [TestMethod]
        public void Index_Action_Calls_GetAllBusinessUnit()
        {
            _mockBusinessUnitRepository.Stub(x => x.GetAllBusinessUnit());

            _controller.Index();

            _mockBusinessUnitRepository.AssertWasCalled(x=>x.GetAllBusinessUnit());
        }
    }
}

Wenn ich das Projekt starte, erhalte ich folgenden Bildschirm enter image description here

Ich habe die Referenzen überprüft und das Testprojekt hat den Hinweis auf das Hauptprojekt. Eine Idee, warum der Test nicht ausgeführt wird oder sagt, dass er nicht schlüssig war?

Edit 1:

Ich habe einen Beitrag hier gesehen und die Standardprozessorarchitektur meines Tests in X64 geändert, aber es funktioniert immer noch nicht.

162
Cybercop

Es war ein neues Problem. In den Resharper-Optionen-> Tools-> MSTEST habe ich das Kontrollkästchen Use Legacy Runner deaktiviert und jetzt funktioniert es. 

21
Cybercop

Für den Fall, dass keine der oben genannten Optionen für jedermann funktionierte, habe ich meine Instanz dieses Fehlers behoben, indem ich einen beschädigten Eintrag in App.Config aufgrund eines fehlenden Nuget-Pakets im Testprojekt festgestellt habe.

123
Chris Pacey

Für mich war das ziemlich frustrierend, aber ich habe zumindest eine Lösung für meinen Fall gefunden:

Wenn Ihre Testmethode asynchron ist, kann sie nicht ungültig sein. Es MUSS Task zurückgeben.

Hoffe es hilft jemandem :)

41

Ich hatte das gleiche Problem mit resharper und korrigierte diesen Fehler durch Ändern einer Option:

Resharper => Optionen => Tools => Komponententest

Ich musste nur die Option "Schattenkopie-Baugruppen im Test" deaktivieren.

35
Elias Platek

Ich hatte dieses Problem, und es stellte sich heraus, dass es sich um dieses Problem hierDiese Antwort löste das Problem für mich .

  1. Deaktivieren Sie "Nur Startprojekte und Abhängigkeiten beim Ausführen erstellen" (Optionen -> Projekte und Lösungen -> Erstellen und Ausführen).
  2. Stellen Sie in Configuration Manager sicher, dass für das Startprojekt und für das Testprojekt die Option "Erstellen" aktiviert ist.

Als ich das Problem zum zweiten Mal traf, lag es an einem Et-Zeichen im Dateipfad zu dem Projekt, in dem sich die Tests befinden. Es funktioniert gut mit dem Test Runner von ReSharper, nicht jedoch mit dotCover. Entfernen Sie das kaufmännische Und-Zeichen aus dem Dateipfad.

Dies ist ein bestätigter Fehler mit dotCover.

14
RubberDuck

Für mich war es einfach, die Lösung zu reinigen und wieder aufzubauen.

12

Für mich war das Problem eine corrupt NUnit/ReSharper settings XML-Datei (wegen eines unerwarteten Stromausfalls).

Um den Fehler zu identifizieren, habe ich Visual Studio mit diesem Befehl gestartet:

devenv.exe /ReSharper.LogFile C:\temp\resharper.log /ReSharper.LogLevel Verbose

Die Prüfung der Datei ergab folgende Ausnahme:

09:45:31.894 |W| UnitTestLaunch                | System.ApplicationException: Error loading settings file
System.ApplicationException: Error loading settings file ---> System.Xml.XmlException: Root element is missing.
   at System.Xml.XmlTextReaderImpl.Throw(Exception e)
   at System.Xml.XmlTextReaderImpl.ParseDocumentContent()
   at System.Xml.XmlLoader.Load(XmlDocument doc, XmlReader reader, Boolean preserveWhitespace)
   at System.Xml.XmlDocument.Load(XmlReader reader)
   at System.Xml.XmlDocument.Load(String filename)
   at NUnit.Engine.Internal.SettingsStore.LoadSettings()
   --- End of inner exception stack trace ---
   at NUnit.Engine.Internal.SettingsStore.LoadSettings()
   at NUnit.Engine.Services.SettingsService.StartService()
   at NUnit.Engine.Services.ServiceManager.StartServices()
   at NUnit.Engine.TestEngine.Initialize()
   at NUnit.Engine.TestEngine.GetRunner(TestPackage package)
   at JetBrains.ReSharper.UnitTestRunner.nUnit30.BuiltInNUnitRunner.<>c__DisplayClass1.<RunTests>b__0()
   at JetBrains.ReSharper.UnitTestRunner.nUnit30.BuiltInNUnitRunner.WithExtensiveErrorHandling(IRemoteTaskServer server, Action action)

Beachten Sie, dass dies UND NICHT die app.config des Testprojekts ist!

Ein Quick Googling Around identifizierte die folgende Datei als Täter:

%LOCALAPPDATA%\NUnit\Nunit30Settings.xml

Es existierte, war aber leer. Durch Löschen und Neustarten von Visual Studio wurde das Problem behoben.

(Verwenden von Visual Studio Professional 2017 v15.3.5 und ReSharper 2017.2.1).

10
Reyhn

Ich habe auch dieses Problem behoben. Keine der Lösungen in diesem Thread hat jedoch funktioniert. Hier ist was ich getan habe ...

Da R # keine genauen Angaben dazu gab, warum etwas fehlschlug, entschied ich mich, den eingebauten Testläufer VS2013 auszuprobieren. Es erlebte genau das gleiche Verhalten, bei dem keiner der Tests lief. Beim Anzeigen im Ausgabefenster hatte ich schließlich eine Fehlermeldung:

Beim Aufrufen von Executor .__ ist eine Ausnahme aufgetreten. 'executor: // mstestadapter/v1': Die Objektreferenz ist nicht auf eine Instanz festgelegt eines Objekts.

Dies führte mich zu einem anderen Thread auf SO mit einer Lösung. Glauben Sie mir, ich hätte NIEMALS erraten, was das Problem war. 

Ich hatte vor kurzem einige Änderungen an der AssemblyInfo.cs-Datei vorgenommen, als ich ein NuGet-Paket erstellt hatte. Eine der Änderungen, einschließlich der Angabe eines Wertes für die Assembly-Kultur von "en".

Ich habe das geändert:

[Assembly: AssemblyCulture("")] 

zu diesem:

[Assembly: AssemblyCulture("en")]`. 

Das war's! Das hat meine Unit-Tests unerklärlicherweise gebrochen. Ich verstehe immer noch nicht warum. Aber zumindest funktionieren die Dinge wieder. Nachdem ich diese Änderung rückgängig gemacht hatte (d. H. Die Kultur wieder auf "" gesetzt hatte), liefen meine Tests erneut.

Hoffe, dass jemand da draußen hilft.

6
mikesigs

In meinem Fall war es ein Fehler, den ich beim Kopieren der Verbindungszeichenfolge in der app.config ...__ gemacht hatte. Ich hatte es in den configSections-Tag eingefügt!

Es dauerte eine Weile, bis mir klar wurde, dass ... danke VS Intellisense ... oder war es nachschärfen?

5
Kcats Wolfrevo

In meinem Fall waren [Test]-Methoden nur private. Schande

5
pkuderov

Mein Problem war, dass ich NUnit nur mit Nuget installiert hatte. Ich hatte NUnit3TestAdapter nicht installiert, was ebenfalls erforderlich war.

Install-Package NUnit3TestAdapter
5
Mike Olund

Ich hatte ein ähnliches Problem. VS 2010, c # CLR 2 Nunit 2.5.7, erstellen Sie einfach eine saubere Lösung von VS, die zur Lösung dieses Problems beitrug

4
Abdul Jabbar

In meinem Fall habe ich eine asynchrone Testmethode erstellt, die void zurückgegeben hat. Durch die Rückgabe von Task anstelle von void wurde das Problem behoben.

4
Neshta

Für diejenigen, die dieses Problem für mein Testprojekt .NET Core 2.0 in der Visual Studio 2017 Community (v15.3 3) haben. Ich hatte auch diesen Fehler mit JetBrains ReSharper Ultimate 2017.2 Build 109.0.20170824.131346 - dort ist ein Fehler ich habe gepostet.

JetBrains hat empfohlen, ein neues Testprojekt zu erstellen, um es zu reproduzieren. Als ich das tat und die Tests gut funktionierten, fand ich den Grund für das Problem:

  • Entfernen Sie dies aus Ihrer *.csproj-Datei:
  • Service Include="{82a7f48d-3b50-4b1e-b82e-3ada8210c358} "

Als ich das getan habe, liefen die Tests gut. 

3
Dmitry Pavlov

In meinem Fall habe ich diesen Fehler aufgrund des 'Release'-Modus erhalten, bei dem der Build des UnitTests-Projekts einfach deaktiviert wurde. Das Umschalten in den Debug-Modus hat das Problem behoben. 

Es ist wirklich überraschend, dass ReSharper nichts sagen kann, falls es keine UnitTests-Bibliothek findet. Im Ernst, es ist eine Schande;)

Ich hoffe es hilft jemandem

3
RR-Fireball

Haben Sie kürzlich eine Abhängigkeit von DLL hinzugefügt? ... wie ich

Ich bin gerade auf das gleiche Problem gestoßen und es war sehr ärgerlich, im Testausgabefenster oder anderswo praktisch keine Ahnung zu bekommen.

Die Ursache war extrem dumm: Ich habe gerade den Tag vor der Abhängigkeit zu einem zusätzlichen externen DLL in einem Unterprojekt hinzugefügt, und die Hauptprojekt-App wurde tatsächlich erstellt und lief nach der Änderung ordnungsgemäß ab. Aber meine Unit-Tests befinden sich in einem Schwesterprojekt zur Haupt-App und hatten somit auch die Abhängigkeit von diesem geänderten Unterprojekt, in dem die DLL aufgerufen wurde ... noch nicht, der Laufzeitort des Testprojekts ist jedoch nicht das von Die Haupt-App! .__ Das Ändern des Builds zum Kopieren der fehlenden DLL in das Testlaufzeitverzeichnis beendete das Problem.

3
berhauz

Ich hatte das gleiche Problem, einen Test mit NUnit-Framework auszuführen. "Nicht eindeutig: Test wird nicht ausgeführt" Visual Studio 2017 15.5.6

ReSharper Ultimate 2017.3.3 Build 111.0.20180302.65130

Gelöst Das Hinzufügen der Projektabhängigkeit zu Microsoft.NET.Test.Sdk

3
julio cesar

Ich verwende VS2013, ReSharper 9.1 mit MSpec-Erweiterung von ReSharper und Moq. Ich habe den gleichen "nicht schlüssigen" Fehler erlebt.

Es stellte sich heraus, dass der Mock's von Moq nicht initialisiert, sondern nur erklärt wurde. Die Tests wurden erneut initialisiert. 

3
Espen Ekvang

In meinem Fall wurden all Tests in einigen Testprojekten einer Lösung nicht ausgeführt, nachdem ich neue Projekte hinzugefügt hatte. VS 2017 mit ReSharper 2017.1.2 hier verwenden.

Stellen Sie zunächst sicher, dass Sie keine Zeit verschwenden, wenn Sie davon ausgehen, dass Ihr Problem mit ReSharper zusammenhängt. Es ist leicht anzunehmen, dass mit ReSharper etwas nicht stimmt, wenn Sie die Komponententestfunktionen einschließlich Unit Test Explorer verwenden. Öffnen Sie den Test Explorer von Visual Studio unter dem Menü Test, und versuchen Sie Run All ". Dies hat den zusätzlichen Vorteil, dass im Ausgabefenster eine Fehlermeldung angezeigt wird, die Sie möglicherweise in die Richtige Richtung: Wenn Sie feststellen, dass derselbe Testsatz nicht ausgeführt wird, können Sie davon ausgehen, dass das Problem bei Visual Studio und nicht bei ReSharper liegt.

Am Ende habe ich eine der Active-Lösungsplattform, Any CPU in Configuration Manager gelöscht und wieder hinzugefügt. Nach dem Speichern meiner Änderungen und dem erneuten Öffnen der Lösung wurden alle Tests erneut gestartet. 

Ich glaube, es gab einen unerwarteten Konfigurationseintrag in der Lösungsdatei, als ich neue Projekte hinzufügte und durch das Wiederherstellen einer der Plattformen sich selbst korrigierte. Ich versuchte es mit dem Unterschied, aber es war schwer zu sagen, was sich geändert hatte, um das Problem zu verursachen.

3
wonster

In meinem Fall war meine Testmethode privat, ich habe sie in öffentlich geändert und es hat funktioniert.

3
Andrew Burns

Meine Lösung: 

NUnit 3.2.0 hat einige Probleme mit Resharper - Downgrade auf 2.6.4:

update-package nunit -version 2.6.4
2
David McEleney

Ich habe dieses Problem in vs 2017 Update 3 mit Resharper Ultimate 2017.2 konfrontiert

Neustart vs oder Neustart der Maschine kann nicht helfen.

Ich habe das Problem gelöst, indem ich den Cache wie folgt geleert habe:

    Resharper ->options-> Environment ->click the button 'Clear caches'

Update:

In der oberen rechten Ecke des Testfensters befindet sich eine Schaltfläche "error" (ich finde in Resharper 2018).

Wenn Sie auf die Schaltfläche "Fehler" klicken, wird eine Fehlernachricht angezeigt, die bei der Lösung des Problems hilfreich sein kann.

Führen Sie Visual Studio im Protokollmodus aus, um den Stamm des Problems zu verfolgen. Führen Sie in vs 2017 den Befehl aus:

      devenv /ReSharper.LogFile C:\temp\log\test_log.txt /ReSharper.LogLevel Verbose

Führen Sie den Test aus.

Überprüfen Sie die Protokolldatei test_log.txt und suchen Sie nach "error" in der Datei.

Die Protokolldatei ist eine große Hilfe, um den Fehler zu finden, den Sie beheben können, oder Sie können das Problem mit der Protokolldatei an das Technical Support-Team von Resharper senden.

2
M.Hassan

Ich hatte das gleiche Problem. Der Täter war eine externe Referenz, die nicht mit meinen Einstellungen zum Projektaufbau kompatibel war. Um das Problem zu lösen, habe ich mit der rechten Maustaste auf das Projekt-> Eigenschaften-> Build-> Plattformziel-> Änderung von Any CPU in x86 geklickt.

Die spezielle * .dll, mit der ich arbeitete, war System.Data.SQLite. Diese spezielle * .dll ist für den 32-Bit-Betrieb fest codiert. Die Einstellung "Any CPU" hat versucht, es als 64 Bit zu laden. 

2
sapbucket

Ich verwende VS2010, NUnit 2.6.3 (obwohl ReSharper intern sagt, dass es 2.6.2 verwendet?), ReSharper 7.7.1 & NCrunch 2.5.0.12 und lief in die gleiche "... Test ist nicht schlüssig ..." Sache mit NUnit, aber NCrunch sagte, alles sei in Ordnung. In den meisten Fällen waren sich NUnit & NCrunch damit einig, welche Tests glücklich waren und welche Refactoring erforderlich war. Dann passierte etwas, was ich immer noch nicht verstehe. Für eine Weile sagte NCrunch, dass ich Tests nicht bestand (aber das Durchschreiten der Tests zeigte sie an pass), entschied dann, dass sie alle arbeiteten, und NUnit begann, sich über alle meine Tests zu beschweren, mit der Ausnahme, dass "..test is nicht schlüssig ..." war, was ich wieder in der Lage war, einen Schritt weiter zu gehen, obwohl NUnit weiter fuhr um es als "nicht schlüssig" zu zeigen). 

Ich habe mehrere der oben genannten Vorschläge ohne Erfolg ausprobiert und schließlich VS2010 geschlossen und die Lösung wieder geöffnet. Voila, jetzt sind alle meine Tests wieder glücklich und NCrunch & NUnit melden wieder dieselben Ergebnisse. Leider habe ich keine Ahnung, was sich geändert hat, um die Synchronisierung zu beenden, aber das Schließen und Wiederöffnen von VS2010 scheint das Problem behoben zu haben. 

Vielleicht wird jemand anderes darauf stoßen und in der Lage sein, diese einfache (wenn auch letztlich unbefriedigende) Lösung zu verwenden, da Sie nicht wissen, was die eigentliche Lösung ist.

2
delliottg

Wenn Sie xUnit verwenden, wurde das Problem bei der Installation von xunit.running.visualstudio-Paket . Behoben. (Derzeit xUnit 2.3.1 und VS17 Enterprise 15.3.5)

2

Wird durch fehlende (nicht beschädigte) App.Config-Datei verursacht. Neu hinzugefügt (Hinzufügen -> Neues Element ... -> Anwendungskonfigurationsdatei) wurde behoben.

2
AnotherFineMess

In meinem Fall hat mir ReSharper diese zusätzliche Ausnahme im Testfenster gegeben:

2017.06.15 12:56:57.621   ERROR Exploration failed with the exception:
System.AggregateException: One or more errors occurred. ---> System.Threading.Tasks.TaskCanceledException: A task was canceled.
   --- End of inner exception stack trace ---
   at System.Threading.Tasks.Task.Wait(Int32 millisecondsTimeout, CancellationToken cancellationToken)
   at JetBrains.ReSharper.UnitTestFramework.Launch.Stages.DiscoveryStage.Run(CancellationToken token)
---> (Inner Exception #0) System.Threading.Tasks.TaskCanceledException: A task was canceled.<---

es endete, dass die Testprojekte, die diesen Fehler aufwiesen, in Configuration Manager nicht für die Erstellung festgelegt wurden. Aktivieren Sie das Kontrollkästchen, um die 2 Testprojekte zu erstellen, und sortieren Sie die Neuerstellung für mich.

 enter image description here

1
Breeno

Ich hatte genau das gleiche Problem und nichts half.

schließlich sah ich, dass meine Namensräume des Unit-Projekts und des Unit-Test-Projekts nicht übereinstimmten.

Der Namespace meines Unit-Projekts ist unit.project und das Testprojekt hatte den Namen unit.project.tests, der Standard-Namespace des Tests war jedoch derselbe wie die Unit, beide waren unit.project.

Nachdem ich die Namespaces geändert habe (ein Namespace für jedes Projekt), funktionierte alles!

1
silver

Ich hatte den gleichen Fehler in VS2013 und Resharper9. Das Problem war, weil ich vergessen habe, die Testmethode mit [Test] zu kommentieren:) Hoffe, das hilft jedem

1
Alex Dee

Ich hatte das gleiche Problem. Es hatte mit der Kompatibilitätsversion zwischen NUnit 3.5 und Resharper 9.2 zu tun, da es durch ein Downgrade von NUnit 3.5 auf 2.6.4 gelöst wurde.

1
Ali Golgol

In meinem Fall habe ich auf 2 Projekte meines einzigen Projekts verwiesen. Beide referenzierten Projekte verwendeten eine DLL mit demselben Namen, jedoch mit einer anderen Version.

Ich habe dies in Visual Studio nicht bemerkt. Ich habe den Fehler im Eventviewer bemerkt.

Um dies zu lösen, habe ich bindingRedirect in der app.config des unittestproject verwendet, um die DLL-Version zu korrigieren.

1
Natrium

Der gesamte Test für meine Klasse wurde nach einigen Codeänderungen (die zuvor bestanden wurden) nicht eindeutig.

Anscheinend hatte ich meiner Testklasse ein neues Feld hinzugefügt:

private readonly Foo _foo = CreateFoo();

Das Problem bestand darin, dass eine Ausnahme in 'CreateFoo ()' ausgelöst wurde. Daher passierte es für alle Tests. Statt zu scheitern, wurden sie alle unschlüssig.

1
KevinG

Ich hatte genau das gleiche Problem, in meinem Testprojekt wurden keine Tests ausgeführt. Ich hatte beim Ausführen der Tests die falsche Konfiguration ausgewählt. Durch das Zurücksetzen auf Debug wurden die Probleme behoben.

 Debug configuration

1
cederlof

Sehr seltsames Verhalten. 

Ich habe gerade einen neuen App-Eintrag verschoben, der kürzlich am Ende der app.config hinzugefügt wurde. 

<appSettings>
    <add key="xxxxxx" value="xxxxx" />
</appSettings>

Hoffe das hilft jemandem

1
brenmartin

Bei einem Test ist dieser Fehler aufgetreten, und es stellte sich heraus, dass ich den Test versehentlich übersprungen hatte. Auf der linken Seite des Bildschirms, auf den Sie klicken, um einen Haltepunkt zu setzen, stellen Sie möglicherweise fest, dass Ihr Test übersprungen wird (ein Microsoft-Symbol weist darauf hin). Ich habe den Test aktiviert und der Fehler ist verschwunden.

1

Für diejenigen, die sich in Rush für die Testausführung befinden, musste ich VS 2017 test Explorer verwenden, um Tests auszuführen.

 enter image description here

 enter image description here

1
Teoman shipahi

In meinem Fall wurde festgestellt, dass die TestCaseSource eine andere Anzahl von Argumenten als der Parameter in der Testmethode hat.

[Test, TestCaseSource("DivideCases")]
public void DivideTest(int n, int d, int q)
{
    Assert.AreEqual( q, n / d );
}

static object[] DivideCases =
{
    new object[] { 12, 3 },
    new object[] { 12, 2 },
    new object[] { 12, 4 } 
};

Hier hat jedes Objektarray in DivideCases zwei Elemente, die 3 sein sollten, da die DivideTest-Methode 3 Parameter hat.

1
Rashmin Javiya

Falls Sie XUnit & Resharper verwenden, können Sie versuchen, die XUnit-Erweiterung zu aktualisieren (funktioniert für mich).

0
Ariel Ornstein

In meinem Fall ist es, weil die Testmethoden "statisch" waren

0
ClemB

Dieses Problem begann mit dem Upgrade auf .NET Core 1.1.0

Gelöst durch Hinzufügen der folgenden Abhängigkeit zu project.json des Testprojekts:

"Microsoft.DotNet.InternalAbstractions": "1.0.500-preview2-1-003177"
0
mkaj

Hatte genau dasselbe mit mir passiert. Schließlich kam es zu einem Upgrade von VS2010 auf 2013, und keiner der Unit-Tests wurde in der Liste von VS angezeigt. Resharper hatte alle als ignoriert aufgelistet. Ich habe ziemlich alles ausprobiert, was hier vergeblich war. Am Ende erstellte ich ein brandneues Unit-Test-Projekt und kopierte alle .cs-Dateien aus den alten in die neuen, erstellte Referenzen usw. und alles funktionierte. Meine Vermutung ist, dass während des Upgrades etwas im Testprojekt beschädigt wurde. 

0
aggaton

Dieser Fehler trat bei Visual Studio 2017 und der Resharper-Version 2018.2.3 auf, das Update gilt jedoch für Visual Studio 2019-Versionen von.

Der Fix, um Tests in Resharper zum Laufen zu bringen, bestand einfach darin, zum Zeitpunkt des Schreibens auf die neueste Version von Resharper (2019.2.1) zu aktualisieren.

0
Boris

Ich hatte lange Zeit mit diesem Problem zu kämpfen, und es scheint, dass keine der obigen Antworten mein Problem behebt.

Ich fand schließlich den Grund in meinem Fall:

Ich habe einen Ordner für die Option "Test ausführen von" angegeben. Der Ordner enthält nicht die zu testende DLL.

Resharper-> Optionen-> Tools-> Unit Testing. Wählen Sie unter Allgemein den Ordner Projektausgabe.

0
Boveyking

Ich habe VS2012 benutzt und die meisten davon gemacht. Dank des führenden europäischen UV-Entwicklers, der die Deinstallation und Neuinstallation von specflow vorschlug. Dies hat das Problem gelöst!

Hoffe, das könnte jemand anderem da draußen helfen.

0

Falls Sie Nunit verwenden:

Für mich waren folgende DLLs enthalten:
nunit.core
nunit.framework

aber eigentlich sollte es NUR sein: nunit.framework

Also entfernte ich nunit.core und alles hat gut funktioniert.

0
Mark

enter image description here

enter image description here

Manchmal versuchen Sie einfach, die Header-Datei (.h) abzulegen und sie als Quelldatei (.cpp) NICHT umzubenennen. Test in resharp c ++ && vs2019, Testcode ist hier

0
Albert.Qing

Ich hatte das gleiche Problem aus einem Grund, der in keiner der verfügbaren Antworten enthalten war: Der Code, der von einem meiner Tests (der erste ausgeführt) verarbeitet wurde, enthielt einen Aufruf von "Environment.Exit (-1)"

Dieser Test wurde als Abgebrochen gemeldet, alle anderen Tests in der Lösung wurden als "nicht eindeutig: nicht ausgeführt" gemeldet, wie in der OP-Frage.

0
AFract

In meinem Fall musste ich eine neue Referenz namens Configuration.dll umbenennen. Anscheinend hat Typemock seine eigene Configuration.dll (tolle Benennung!) Und wurde durch meine DLL verwirrt. 

0
Ilya Kogan

Ich habe den ReSharper Build verwendet, um das Problem zu beheben. 

ReSharper => Options => Tools => Build => General => Use ReSharper Build
0

Nachdem Sie eine Reihe von Neustarts, Änderungen und Optimierungen durchgeführt haben

upgrade von TestFramework Nuget-Paket zur Verwendung des folgenden Pakets funktioniert.

<package id="Microsoft.VisualStudio.QualityTools.UnitTestFramework.Updated" version="15.0.26228" targetFramework="net461" />
0
Muds

In meinem Fall lag es daran, dass\r\n Zeichen in TestCase eingegeben wurden. Sie sind sich nicht sicher, warum es zeitweise Probleme gibt, da dies meistens funktioniert. Aber wenn ich\r\n entferne, ist der Test niemals unschlüssig:

[TestCase("test\r\n1,2\r\n3,4", 1, 2)]
public void My_Test(string message, double latitude, double longitude)
0
Eternal21

In meinem Fall musste ich meine ReSharper (auf Version 10) aktualisieren, damit sie die neueste Version von NUnit (Version 3.0) verwenden kann.

0
Yar

Da macht ReSharper es mir schwer. Ich entschied mich, es schnell mit NUnit3 Test Adapter zu testen.

https://visualstudiogallery.msdn.Microsoft.com/0da0f6bd-9bb6-4ae3-87a8-537788622f2d

0
Jaider

Ich hatte ein ähnliches Szenario - alle meine Tests liefen gut, ich fügte ein paar hinzu und plötzlich lief keiner meiner Tests in VS2015 mit R # 10.

Ich habe versucht, den R # -Cache zu löschen, app.config-Änderungen rückgängig zu machen, 'zu testende Schattenkopien-Assemblys' zu entfernen, die Bereinigung/Neuerstellung durchzuführen und VS neu zu starten - alles ohne Erfolg.

Am Ende löste ein guter altmodischer Neustart das Problem für mich.

0
SketchyDev

In meinem Fall (Visual Studio Community 2017 Version 15.2) war die Problemquelle eine neue Art des Ladens von in VS 2017 eingeführten Projekten, d. 

Im Fenster "Unit-Testsitzungen" ist mir aufgefallen, dass die Lösung weit weniger Tests enthält, als sie sollte. Ich musste jedes Unit-Testprojekt manuell im "Projektmappen-Explorer" öffnen und erst dann wurden alle Tests geladen und bestanden.

Eine Möglichkeit, dies zu lösen, besteht darin, "Lightweight Solution Load" zu deaktivieren, indem Sie im "Solution Explorer" mit der rechten Maustaste auf die Lösung klicken und "Disable Lightweight Solution Load" einstellen.

0
Vadim

Ich bin bis heute auf das gleiche Problem gestoßen. Wenn keine dieser Antworten Ihnen geholfen hat, versuchen Sie Folgendes:

Konvertieren Sie Ihre Klassenbibliothek in eine Konsolenanwendung. Versuchen Sie dann, LoaderExceptions zu finden, die hier erläutert werden: So diagnostizieren Sie den Test Runner für die Resharper-Einheit "Ein oder mehrere der angeforderten Typen können nicht geladen werden. Fehler

Wenn Ihr Projekt ausnahmslos startet, führen Sie den Test jetzt mit resharper aus. (ohne zurück in eine Klassenbibliothek zu konvertieren) Es hat für mich funktioniert.

0
Kris

Was für mich das Problem gelöst hat, ist das Ausführen:

git clean -dfx

auf dem Repo, dann wieder aufbauen.

0
johni

Ich verwende VS2013, Resharper 8.2 und NUnit (Runner) 2.6.3. Konfigurierter Resharper zur Verwendung des über Nuget installierten Nunit-Läufers.

Ich habe den gleichen Fehler "Unschlüssig: Test wurde nicht ausgeführt" beim Versuch, Komponententests mit Resharper auszuführen, erhalten. Nachdem ich verschiedene Lösungen ausprobiert hatte, versuchte ich, die nunit.exe zu starten, und es wurde der Fehler "Zum Ausführen dieser Anwendung muss eine der folgenden Versionen von .NET.Framework installiert werden: V4.0.30319"

Nachdem ich meine .net Framework 4.5 Installation repariert hatte, funktionierte alles wieder gut.

0
stefantinger

In meinem Fall wurde VS nicht mit Administratorberechtigungen gestartet.

Beenden Sie VS und wählen Sie "Als Administrator ausführen". Dieses Problem wird behoben.

0
IdoT

Um auf eine weitere Art und Weise zu werfen, kann dies passieren, bestimmte Arten von Laufzeitfehlern im Test selbst.

Ich hatte es mit einer nicht erfassten Stapelüberlaufausnahme in einer Eigenschaft passieren lassen, deren Wert ich testete (mit den VisualStudioTestingExtensions). Ich hatte eine Eigenschaft (wie "IsFoo"), die selbst eine Auswahl hatte, um IsFoo auf Unterobjekten zu prüfen. Aber hatte fälschlicherweise foo.Select(x => IsFoo) anstelle von foo.Select(x => x.IsFoo).

Wenn also "Testmethode ist nicht schlüssig ..." für einen einzelnen Test angezeigt wird, stellen Sie sicher, dass Sie auch einen Debuglauf ausführen. Das wird zeigen, ob es sich um dieses spezielle Problem handelt (da es am Ausnahmepunkt endet).

0
ShawnFumo