[Hands on] testing asp.net mvc

5
Avanade Confidential – Do Not Copy, Forward, or Circulate Testing ASP.NET MVC Framework Simone Chiaretta Gian Maria Ricci 27 Giugno 2008

description

In questa sessione verranno messi in pratica i concetti espressi finora, tramite esempi di test di un'applicazione Asp.NET MVC.

Transcript of [Hands on] testing asp.net mvc

Page 1: [Hands on] testing asp.net mvc

Testing ASP.NET MVC Framework

Simone ChiarettaGian Maria Ricci

27 Giugno 2008

Page 2: [Hands on] testing asp.net mvc

Testare i controller

► Fino alla Preview2 era necessario “mockare” tutto

► Nella P3 è stato fatto refactoring del controller.

2

[TestClass]public class BlogControllerTest{ [TestMethod] public void Show() { BlogController controller = new BlogController(); var result = controller.Show(2010,10,11,"Titolo Post")

as ViewResult;

Assert.IsNotNull(result, "Aspettavo un view da renderizzare"); Assert.AreEqual("Titolo Post", controller.ViewData["Titolo"],

“Mi aspettavo un altro messaggio"); }}

Page 3: [Hands on] testing asp.net mvc

Altri esempi di test

► Testare strongly-typed view data– Assert.AreEqual(expected, ((BlogData)

result.ViewData.Model).Titolo,…);

► Testare Redirect– var result = controller.Show(…) as RedirectResult;

3

Page 4: [Hands on] testing asp.net mvc

MockHttpContext

MockSessionMockRequestMockCache

Mocking HttpContext

HttpContext

Session

Cache

Request

IIS

SUTTEST

Page 5: [Hands on] testing asp.net mvc

Q&A

5