Tester si une classe possède un attribut?
Je suis en train de faire un petit Test-Premier développement, et je suis en train de vérifier que mes classes sont marquées avec un attribut:
[SubControllerActionToViewDataAttribute]
public class ScheduleController : Controller
Comment faire de test de l'unité de la classe a qui attribut affecté?
Vous devez vous connecter pour publier un commentaire.
vérifier que
n'est pas nulle (
Assert.IsNotNull
ou similaire)(la raison pour laquelle je l'utiliser plutôt que de
IsDefined
est que la plupart du temps je veux valider certaines propriétés de l'attribut trop....)Les mêmes vous le feriez normalement, vérifiez la présence d'un attribut d'une classe.
Voici un exemple de code.
Je pense que dans de nombreux cas test de l'existence d'un attribut dans une unité de test est faux. Comme je n'ai pas utilisé MVC contrib sous la fonctionnalité de contrôleur, je ne peux pas commenter s'il est approprié dans ce cas.
Il est également possible d'utiliser des génériques sur ce:
De cette façon, vous n'avez pas besoin d'un autre
typeof(...)
, ce qui peut rendre le code plus propre.using
.. qui me manque?using
) Quelle est l'erreur que vous obtenez?GetCustomAttribute<SomeAttribute>
méthode est disponible à partir de .NET 4.5 et mon IDE a été fixée à 3,5 donc, tout est clair maintenantJe sais que ce fil est vraiment vieux, mais si quelqu'un trébucher sur elle, vous pouvez trouver fluentassertions projet très pratique pour faire ce genre d'affirmations.