Próbuję zrobić mały test pierwszego rozwoju, a ja staram się zweryfikować, że moje zajęcia są oznaczone atrybutem:Sprawdź, czy klasa ma atrybut?
[SubControllerActionToViewDataAttribute]
public class ScheduleController : Controller
Jak to zrobić testów jednostkowych, że klasa ma ten atrybut przypisany do tego?
, aby sprawdzić tylko, czy atrybut jest obecny, co jest zwykle wszystkim, co jest potrzebne do atrybutów bez parametrów/właściwości, jest tańszy w użyciu .IsDefined, ponieważ zapyta metadane, i nie deserializować i tworzyć instancji obiektu atrybutu. –
Jak to jest o tym, że IsDefined jest tańszy ... ale w większości przypadków (aw szczególności testów jednostkowych) jest mało prawdopodobne, że zauważy różnicę. Może gdyby to była ciasna pętla w kodzie produkcyjnym ... –
@ Marc- Zgadzam się, że różnica w wydajności prawdopodobnie nie byłaby zauważalna w teście jednostkowym. Dostałbym atrybut, gdybym go potrzebował, co, jak pan twierdzi, jest w większości przypadków scenariuszem. Niedawno użyłem IsDefined w ramce, którą pisałem, aby wykluczyć kolumnę z rozwijanego pola sortowania - to działało dobrze, ponieważ nie musiałem używać tego atrybutu. – RichardOD