Ich möchte eine Instanz von FormsAuthenticationTicket erstellen (über die ich keine Kontrolle habe, Teil von System.Web.Security) mit Autofixtion und sicherstellen, dass die UserData (des Typen string) enthält einen gültigen XML-StringErstellen Sie eine Instanz von FormsAuthenticationTicket mit einer gültigen XML-Zeichenfolge in UserData
var testTicket = fixture.Create<FormsAuthenticationTicket>();
Das Problem ist, dass Userdata kann nur eingestellt werden, wenn das Objekt instanziieren den folgenden Konstruktor:
public FormsAuthenticationTicket(int version, string name, DateTime issueDate, DateTime expiration, bool isPersistent, string userData);
Wo „userdata“ einen gültigen XML-String ist.
Ich kann diesen Typ konfigurieren, um den gierigsten Konstruktor zu verwenden, aber das löst nicht das Problem, eine gültige XML-Zeichenfolge für userData bereitzustellen.
Ich könnte den String-Typ einfrieren, damit es immer eine gültige XML-Zeichenfolge zurückgibt, aber ich interessiere mich auch für andere Zeichenfolge Werte in meinem Test.
Ich denke, ein möglicher Ansatz ist, den Algorithmus für die String-Generierung anzupassen ... aber ich habe keine Parameter zu wissen, wann die XML-ähnliche Zeichenfolge bereitzustellen.
Obwohl dies gut als generalisierte Ansatz suchen, ist es in diesem speziellen Fall wird nicht funktionieren, weil das 'userData' nicht Teil des bescheidenen Konstruktors ist. –
@Nikos das ist fair, darauf hinzuweisen. Das erwähnte OP war mit der Einrichtung einer gierigen Konstruktor-Anpassung vertraut, also habe ich diesen Teil nicht nochmals betont. –
Einverstanden. Aber ich persönlich bevorzuge autonome Antworten, bei denen Sie die Antwort einfach kopieren und einfügen und verwenden können. Benutzer lesen die Webseiten selten Wort für Wort; statt dessen [scannen sie die Seite] (http://www.nngroup.com/articles/how-users-read-on-the-web/). –