Ich habe eine Methode namens RenderContent , die object[]
zurückgibt
In meinem Komponententest muss ich feststellen, dass dieses Array keine Objekte vom Typ VerifyRequest
Im Moment verwende ich die folgende Assert
-Anweisung. Gibt es etwas Konkreteres?
Ich bevorzuge eine fließende Syntax. Beachten Sie auch, dass RenderContent object[]
zurückgibt, nicht IQueryable<object>
.
Wenn Sie NUnit 2.5 verwenden, könnten Sie etwas wie:
verwenden %Vor%Aber ich bin mir nicht sicher, ob andere Unit-Test-Frameworks diesen Assert-Stil unterstützen.
Obwohl ich die genaue NUnit-Syntax für die IsFalse-Assertion nicht kenne, ist die Any
-Erweiterungsmethode die beste Methode für diese Art von Test:
Es mag verlockend sein, die Methode Count
zu verwenden, aber Any
ist effizienter, da sie beim ersten Auftreten bricht.
Die Any-Erweiterungsmethode, die einen Lambda-Ausdruck erhalten kann:
%Vor%Sie können es mit der Assert.AreEqual-Methode stattdessen um ein Bit verkürzen:
%Vor%Ich bevorzuge den Assert.AreEqual Ansatz; NUNit verwendet Assert.That für die internen Objekte Assert, STRingAssert usw. Ich mag nur Assert.AreEqual (0, domain.RenderContent (). OfType (). Count ()); um nach den Zählungen zu suchen.
Auf diese Weise prüft es direkt, dass keine Objekte eines Typs eine beliebige Anzahl von Datensätzen haben, aber bis zu einem Punkt sind die Abweichungen, die Sie sehen, Vorlieben und sie sind alle gleichermaßen gültig. Sie müssen wählen, was Sie für Ihre Art der Entwicklung mögen.
Tags und Links unit-testing linq nunit