Ich versuche, eine kleine Test-First-Entwicklung durchzuführen, und ich versuche zu überprüfen, ob meine Klassen mit einem Attribut gekennzeichnet sind:
[SubControllerActionToViewDataAttribute]
public class ScheduleController : Controller
Wie teste ich, ob der Klasse dieses Attribut zugewiesen ist?
c#
unit-testing
attributes
JoshRivers
quelle
quelle
Das gleiche, das Sie normalerweise für ein Attribut in einer Klasse suchen würden.
Hier ist ein Beispielcode.
Ich denke in vielen Fällen ist es falsch, in einem Komponententest auf das Vorhandensein eines Attributs zu testen. Da ich die Subcontroller-Funktionalität von MVC Contrib nicht verwendet habe, kann ich nicht beurteilen, ob dies in diesem Fall angemessen ist.
quelle
Es ist auch möglich, Generika zu verwenden:
Auf diese Weise benötigen Sie keine weitere
typeof(...)
, wodurch der Code sauberer wird.quelle
using
.. vermisse ich?using
) Welchen Fehler erhalten Sie?GetCustomAttribute<SomeAttribute>
Methode von .NET 4.5Ich weiß, dass dieser Thread wirklich alt ist, aber wenn jemand darauf stößt, kann es sein, dass das Projekt für fließende Behauptungen sehr praktisch ist, um diese Art von Behauptungen aufzustellen .
quelle