Chcę utworzyć instancję formularza FormsAuthenticationTicket (nad którą nie mam kontroli, część System.Web.Security) za pomocą AutOstalacji i upewniając się, że UserData (typu string) zawiera prawidłowy ciąg znaków XMLUtwórz instancję FormsAuthenticationTicket z poprawnym ciągiem XML w UserData
var testTicket = fixture.Create<FormsAuthenticationTicket>();
problemem jest to, że UserData można ustawić tylko przy uruchamianiu tego obiektu za pomocą poniższego konstruktora:
public FormsAuthenticationTicket(int version, string name, DateTime issueDate, DateTime expiration, bool isPersistent, string userData);
Gdzie "userData" jest prawidłowy ciąg XML.
Mogę skonfigurować ten typ, aby użyć najbardziej chciwego konstruktora, ale to nie rozwiązuje problemu dostarczenia prawidłowego łańcucha XML do userData.
Mogę zatrzymać typ łańcucha, aby zawsze zwracał prawidłowy ciąg znaków XML, ale zależy mi również na innych wartościach ciągu w teście.
Myślę, że możliwym podejściem jest dostosowanie algorytmu do generowania ciągów ... ale nie mam parametrów, aby wiedzieć, kiedy podać ciąg znaków XML.
Mimo to dobrze wyglądać jako uogólnionego podejścia, w tym konkretnym przypadku nie będzie działać, ponieważ 'userData' nie jest częścią skromnego konstruktora. –
@ Nikos to uczciwe do wskazania. OP oświadczył, że jest zaznajomiony z konfiguracją chciwego dostosowywania konstruktorów, więc nie podkreśliłem tej części. –
Zgoda. Ale ja osobiście preferuję odpowiedzi autonomiczne, w których można po prostu skopiować i wkleić odpowiedź i użyć jej. Użytkownicy rzadko czytają strony internetowe słowo po słowie; zamiast tego [zeskanują stronę] (http://www.nngroup.com/articles/how-users-read-on-the-web/). –