Skip to content

Mocking controllers and views

Alexanderius edited this page Sep 15, 2019 · 1 revision

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