【发布时间】:2021-06-23 18:07:28
【问题描述】:
我为集成测试创建了一个 XUnit 测试,并按照此处的示例进行操作 (Integration Tests in ASP.NET Core) 这会加载 mvc 项目的启动,但会因注入自动映射器的异常而失败。
对这意味着什么有什么想法吗?
[![异常用户未处理][2]][2]
测试类
// WebApplicationFactory<TEntryPoint> is used to create a TestServer for the integration tests.
public class ServiceHttpClientTest : IClassFixture<WebApplicationFactory<Startup>>
{
private readonly WebApplicationFactory<Startup> _factory;
public ServiceHttpClientTest(WebApplicationFactory<Startup> factory)
{
_factory = factory;
}
[Theory]
[InlineData("/Index")]
[InlineData("/About")]
[InlineData("/Contact")]
[InlineData("/Privacy")]
public async Task Get_EndpointsReturnSuccessAndCorrectContentType(string url)
{
// Arrange
var client = _factory.CreateClient();
// Act
var response = await client.GetAsync(url);
// Assert
response.EnsureSuccessStatusCode(); // Status Code 200-299
Assert.Equal("text/html; charset=utf-8", response.Content.Headers.ContentType.ToString());
}
}
enter code here
【问题讨论】:
-
你的测试项目的 csproj 文件是什么样的?
-
更新了我的帖子。我尝试按照 Neil 的回答使用 Test.Sdk 的预览,但给出了同样的错误。
-
如果您将目标框架更改为
net5.0,有什么变化吗?
标签: c# dependency-injection automapper integration xunit