Niedawno zauważyłem, że dodanie [TestInitialize] do metody chronionej w zestawie .NET nie było przestrzegane, ale jeśli podałem tę metodę do publicznej wiadomości, zostanie ona wywołana przez moduł uruchamiający testy jednostkowe (w tym przypadku Resharper). Zauważyłem to kilka razy w przeszłości za pomocą metod testowych.
Technicznie rzecz biorąc, tak samo łatwo jest zastanowić się nad metodą prywatną jak metodą publiczną. W rzeczywistości refleksja jest metodą stosowaną do jednostkowego testowania metod prywatnych.
Dlaczego więc muszę upublicznić wszystkie moje metody testów jednostkowych?
setAccessiblektórymi może zostać zablokowany przez jakiegoś niestandardowego SecurityManagera