如何使用 xUnit.net 和 ASP.NET 5 运行 内存集成测试?
How do I run in-memory integration tests using xUnit.net and ASP.NET 5?
我的单元测试已经运行良好,但我想在内存托管中进行并使用 HttpClient 进行集成测试。 ASP.NET 5.
似乎找不到太多关于此的信息
最终使用了以下包而不是 Kestrel:
Microsoft.AspNet.TestHost package
示例我如何将它用于我的应用程序:
[Fact]
public async void GetShouldReturnTwoValues()
{
var server = TestServer.Create(app =>
{
var env = app.ApplicationServices.GetRequiredService<IHostingEnvironment>();
new Startup(env).Configure(app, env);
}, services => services .AddMvc());
var result = await server.CreateClient().GetAsync("api/values/");
Assert.True(result.IsSuccessStatusCode);
}
回购:
用法/文档:
我偶然发现了同样的问题。因此,为了完整性,我想补充一点,将 NuGet 包的名称更改为 Microsoft.AspNetCore.TestHost
.
正确的文档:https://docs.asp.net/en/latest/testing/integration-testing.html
我的单元测试已经运行良好,但我想在内存托管中进行并使用 HttpClient 进行集成测试。 ASP.NET 5.
似乎找不到太多关于此的信息最终使用了以下包而不是 Kestrel:
Microsoft.AspNet.TestHost package
示例我如何将它用于我的应用程序:
[Fact]
public async void GetShouldReturnTwoValues()
{
var server = TestServer.Create(app =>
{
var env = app.ApplicationServices.GetRequiredService<IHostingEnvironment>();
new Startup(env).Configure(app, env);
}, services => services .AddMvc());
var result = await server.CreateClient().GetAsync("api/values/");
Assert.True(result.IsSuccessStatusCode);
}
回购:
用法/文档:
我偶然发现了同样的问题。因此,为了完整性,我想补充一点,将 NuGet 包的名称更改为 Microsoft.AspNetCore.TestHost
.
正确的文档:https://docs.asp.net/en/latest/testing/integration-testing.html