Skip to content
This repository has been archived by the owner on Jun 30, 2021. It is now read-only.

Mocking controllers and views

Alexanderius edited this page Jun 30, 2019 · 3 revisions

Mocking controllers and views

Mocking of views and controllers available by default because all controller base properties are virtual, your can use mocking frameworks such as Moq to do mocking.

Mocking example

Testing what default controller returns StaticTpl with "Default" template name to load.

Source controller

[Get("/")]
public class DefaultController : Controller
{
    public override ControllerResponse Invoke()
    {
        return new StaticTpl("Default");
    }
}

Test

[TestFixture]
public class DefaultPageControllerTests
{
    [Test]
    public void Invoke_Default_MainContentSet()
    {
        // Assign
        var c = new Mock<DefaultController> {CallBase = true};

        // Act
        var result = c.Object.Invoke();

        // Assert
        Assert.AreEqual("Default", ((StaticTpl)result).TemplateFileName);
    }
}

<< Previous page Next page >>

Clone this wiki locally