Kein passender Konstruktor gefunden wurde, in NUnit-tests Parametriert
Siehe unten im Prüfadapter:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using NUnit.Framework;
///<summary>
///Tests relating to Harry Potter
///</summary>
[TestFixture("Dumbledore")]
public class HarryPotterTests
{
public string Name;
public HarryPotterTests(string personName)
{
Name = personName;
}
[Test]
public void Test()
{
Console.WriteLine(Name);
}
}
Was ich versuche zu erreichen ist, zu sehen, wie parametrisiert, test-VORRICHTUNGEN arbeiten. Ich habe Sie nicht genutzt, bevor so dies ist meine erste Stich an.
Sieht es OK aus für mich. Konstruktor mit einem string, und die übergabe in einem string in der eigentlichen test-fixture-Attribut. Es kompiliert. Test einfach schreibt es heraus, um ein Konsolen-Fenster.
Den test jedoch fehl mit dieser Meldung:
No suitable constructor was found
Bin ich etwas fehlt, blind zu offensichtlich?
Egal wohin ich Sie setzen einen breakpoint, nichts ist Treffer, so dass es nicht sehr früh auf.
Wo sind Sie den Aufruf dieses Konstruktors? Das ist ein compiler-Fehler, so dass natürlich kein Haltepunkt betroffen sein wird, da Ihr code nicht ausgeführt wird.
Dein code funktioniert einwandfrei mit NUnit-2.6, ausgeführt sowohl aus dem NUnit-GUI und Resharper 7-test-runner. Könnte es sein, dass Sie eine alte NUnit-version? Parametrisierte Testgruppen wurde in 2.5.
+1 für die LOL mit Ihrer Wahl von Namen. (und nützlich für mich nicht in Frage)
Dein code funktioniert einwandfrei mit NUnit-2.6, ausgeführt sowohl aus dem NUnit-GUI und Resharper 7-test-runner. Könnte es sein, dass Sie eine alte NUnit-version? Parametrisierte Testgruppen wurde in 2.5.
+1 für die LOL mit Ihrer Wahl von Namen. (und nützlich für mich nicht in Frage)
InformationsquelleAutor Arran | 2012-07-11
Du musst angemeldet sein, um einen Kommentar abzugeben.
Hatte ich dieses problem. Es wurde verursacht, indem der Konstruktor wirft eine Fehlermeldung, anstatt ein Problem mit der Konstruktor-Parameter. Die Fehlermeldung war irreführend, in meinem Fall.
InformationsquelleAutor andrewtatham
Habe ich das problem - läuft eine Test-Klasse unter NUnit und über Resharper 8.
Allerdings, wenn ich änderte die TestFixture Erklärung von dieser form
zu dieser form:
dann arbeiteten Sie... diese auch verbessert, was über NUnit - aber wie es passiert für meinen speziellen tests habe ich connectionString-und Entity Framework-Themen, die Resharper hilft mit und NUnit nicht - aber im wesentlichen, glaube ich, NUnit ist glücklicher mit dem, der diese syntax.
InformationsquelleAutor Nij
Ihre test-Klasse ist durchaus gültig und gibt Übergeben beim ausführen von NUnit 2.6 .NET 4, die beide mit dem NUnit-GUI und Resharper 7-test-runner.
Den Fehler Sie zu sehen sind, tritt auf, wenn die Typen der Argumente in der
TestFixture
Konstruktor nicht mit dem Typen von der test-Klasse-Konstruktor. Zum Beispiel, wenn ich die Zeile hinzufügen:Ich die folgende Fehlermeldung erhalten, in der NUnit-GUI:
InformationsquelleAutor Anders Gustafsson
Diesem besonderen problem ist ein Fehler in JustCode der NUnit-Test-Runner. Wieder läuft dieser mit Resharper 7 NUnit Runner und die NUnit GUI, sowohl pass.
InformationsquelleAutor Arran
Prüfen Sie, ob Ihr Konstruktor hat keine Logik, die möglicherweise zu scheitern. Es stellt sich heraus, ich hatte ein Aufruf in den Konstruktor (schlecht!) das sollte in
TestFixtureSetUp
. In Resharper dies ist die Standard Fehlermeldung mit parametrisierten test Leuchten, wenn alles wirft eine exception im Konstruktor.InformationsquelleAutor craastad
Ziemlich offensichtlich, kann aber auch passieren, wenn die Prüfung der Konstruktor ist nicht öffentlich.
InformationsquelleAutor wlf
Nur, falls es jemandem hilft.
In meinem Fall war ich mit TestFixtureSource, und eine Funktion zu bauen die Kombinationen für die verschiedenen TestFixtures. Stellt sich heraus, dass die Anzahl der Elemente im array nicht mit der Anzahl der Parameter für den Konstruktor. (Ich habe vergessen die -1)
InformationsquelleAutor Jenny Lucas