Próbuję zrobić mały program Test-First i próbuję sprawdzić, czy moje klasy są oznaczone atrybutem:
[SubControllerActionToViewDataAttribute]
public class ScheduleController : Controller
Jak przeprowadzić test jednostkowy, czy klasa ma przypisany ten atrybut?
c#
unit-testing
attributes
JoshRivers
źródło
źródło
To samo, co normalnie sprawdzasz dla atrybutu w klasie.
Oto przykładowy kod.
Myślę, że w wielu przypadkach testowanie istnienia atrybutu w teście jednostkowym jest błędne. Ponieważ nie korzystałem z funkcji kontrolera pomocniczego MVC contrib, nie mogę komentować, czy jest to odpowiednie w tym przypadku.
źródło
Możliwe jest również użycie w tym przypadku typów ogólnych:
W ten sposób nie potrzebujesz innego
typeof(...)
, co może uczynić kod czystszym.źródło
using
… brakuje mi?using
) Jaki błąd otrzymujesz?GetCustomAttribute<SomeAttribute>
metoda jest dostępna z .NET 4.5, a moje IDE było ustawione na 3.5 więc wszystko jest już jasneWiem, że ten wątek jest naprawdę stary, ale jeśli ktoś się na niego natknie, może się okazać, że projekt Fluentassertions jest bardzo wygodny do robienia tego typu twierdzeń.
źródło