Skip to content

mdmoore313/MvcRouteTester.AspNetCore

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

83 Commits
 
 
 
 
 
 
 
 

Repository files navigation

MvcRouteTester.AspNetCore Build status

NuGet Package

Install-Package MvcRouteTester.AspNetCore

Example

public class Example : IClassFixture<TestServerFixture>
{

    private readonly TestServer _server;

    public Example(TestServerFixture testServerFixture)
    {
        _server = testServerFixture.Server;
    }

    [Fact]
    public async Task CanRoute()
    {
        await RouteAssert.ForAsync(
            _server,
            request => request.WithPathAndQuery("/some-route"),
            routeAssert => routeAssert.MapsTo<HomeController>(a => a.SomeRoute()));
    }

    [Fact]
    public async Task CanRouteWithArguments()
    {
        await RouteAssert.ForAsync(
            _server,
            request => request.WithPathAndQuery("/some-other-route?parameter=value"),
            routeAssert => routeAssert.MapsTo<HomeController>(a => a.SomeOtherRoute("value")));
    }

}

public class TestServerFixture
{

    public TestServerFixture()
    {
        Server = new TestServer(new WebHostBuilder().UseStartup<TestStartup>());
    }

    public TestServer Server { get; }

    public class TestStartup
    {

        public void ConfigureServices(IServiceCollection serviceCollection)
        {
            serviceCollection.AddMvc();
            serviceCollection.AddMvcRouteTester();
        }

        public void Configure(IApplicationBuilder app, IHostingEnvironment env)
        {
            app.UseMvc();
        }

    }

}

About

A library for unit testing AspNetCore routes

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C# 100.0%