2009-08-24 1 views
0

Sorry, wenn diese Beschreibung nicht klar ist ... war nicht sicher, wie es anders zu sagen.Unit Test Modell gebunden Controller-Aktion mit ungebundenen Feldern

Ich habe ein benutzerdefiniertes Registrierungsformular für Mitglieder, das ich erstellt habe. Es wird an eine Controller-Aktion gesendet, in der ich die Modellbindung verwende, um ein "Benutzer" -Objekt zu füllen. Das Formular hat ein "Passwort" -Feld und ein "ConfirmPassword" -Feld. Das Feld "Kennwort" wird beim Binden an das Benutzerobjekt gebunden, das "ConfirmPassword" jedoch nicht. Wenn ich in meiner Controller-Aktion bestätige, dass Password und ConfirmPasswords übereinstimmen, überprüfe ich, ob user.Password und Request.Form ["ConfirmPassword"] gleich sind. Alles funktioniert gut, bis ich zum Komponententest komme.

Ich bin in der Lage, ein Benutzerobjekt in die Controller-Aktion als Parameter zum Testen zu übergeben ... aber Request.Form ["ConfirmPassword"] existiert nicht im Testkontext. Wie kann ich ein Request.Form-Objekt für Testzwecke bereitstellen?

Antwort

2

Ich habe eine schnelle Suche nach der Antwort gemacht und kam auf diesen Link - es gibt angeblich Lösungen für Moq und Rhino Mocks. Sie verwenden ASP.NET MVC, also ist es möglicherweise nicht relevant für Ihre Lösung, aber ich gebe es weiter.

http://forums.asp.net/t/1309792.aspx

+0

Vielen Dank. Ich fühle mich jetzt irgendwie albern. Nicht sicher, warum ich nicht selbst daran gedacht habe. Spotten Sie einfach die Formularsammlung im Request-Kontext. Das war der Anstoß in die richtige Richtung, die ich brauchte. Danke noch einmal. –