MvcRouteTester.AspNetCore ![Build status](https://camo.githubusercontent.com/59f648a472fd6497acea5c6b889addfcd6733468f066649968a143a2a3bef8ad/68747470733a2f2f63692e6170707665796f722e636f6d2f6170692f70726f6a656374732f7374617475732f736f74333761677439343667626d39333f7376673d74727565)
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().UseTestStartup<TestStartup, Startup>());
}
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();
}
}
}