Току-що започнах да уча и използвам ASP.NET MVC 2 и също така се включвам повече в модулното тестване на моя код. Въпросът ми е най-общо как да симулирам влизане на потребител чрез предаване на идентификационни данни в моя тест.
Използвам MSpec и се опитвам да разбера fakeiteasy, за да напиша теста си. Досега смятам, че съм написал правилно един тест (издържа условието на теста) за случаите, когато неупълномощен потребител се опита да получи достъп до страница.
Subject( typeof( HomeController ) )]
public class context_for_a_home_controller_for_not_logged_user
{
protected static HomeController HomeController;
Establish context = () =>
{
// Create controller
HomeController = new HomeController();
HomeController.ControllerContext = A.Fake<ControllerContext>();
};
}
[Subject(typeof(HomeController))]
public class when_the_home_page_is_requested : context_for_a_home_controller_for_not_logged_user
{
static ActionResult result;
Because of = () =>
result = HomeController.Index();
It should_return_the_log_in_page_if_user_not_logged_in = () =>
{ result.ShouldBeAView().And().ShouldUseDefaultView(); };
}
Дотук добре. Бих искал обаче да тествам сценария за това, когато удостоверен потребител удари домашния контролер. Заседнал съм в това как да симулирам удостоверен потребител и всяка помощ или съвет би бил добре дошъл.
TIA,
Дейвид