Как написать тест MSpec для кода, содержащего вызовы HttpContext с использованием fakeiteasy? - PullRequest
0 голосов
/ 15 апреля 2011

Я получаю пресловутые трусики в поворот.Для этого очень простого кода:

public ActionResult Add()
    {

        this.HttpContext.Items["pm-page-title"] = "Some title";

        return this.View();
    }

Как мне написать тест MSpec, используя fakeiteasy, чтобы убедиться, что представление возвращено и, что более важно, правильно задан заголовок страницы?

TIA,

David

1 Ответ

1 голос
/ 15 апреля 2011
// arrange
var sut = new SomeController();
sut.ControllerContext = A.Fake<ControllerContext>();
var fakeContext = A.Fake<HttpContextBase>();
A.CallTo(() => sut.ControllerContext.HttpContext).Returns(fakeContext);
A.CallTo(() => fakeContext.Items).Returns(new Hashtable());

// act
var actual = sut.Add();

// assert
Assert.AreEqual("Some title", (string)fakeContext.Items["pm-page-title"]);
...