我有一个API(.net核心)和一个基于Angular的本地应用程序。我想对此API进行集成测试,而不是直接由客户端进行测试。 我检查了.net核心文档,我发现了这个:https://docs.microsoft.com/en-us/aspnet/core/testing/integration-testing
这就是我所做的:
public class Customers
{
private readonly TestServer _server;
private readonly HttpClient _client;
public Customers()
{
// Arrange
_server = new TestServer(new WebHostBuilder().UseStartup<Startup>());
_client = _server.CreateClient();
}
[Fact]
public async Task ReturnSomething()
{
// Act
var response = await _client.GetAsync("/api/customers/test");
response.EnsureSuccessStatusCode();
var responseString = await response.Content.ReadAsStringAsync();
// Assert
Assert.Equal("test",
responseString);
}
}
我有此回复:响应状态代码不表示成功:500(内部服务器错误)
当我把“等待_client.GetAsync(”/ api / customers / testtttt“=&gt;一个不正确的API链接时,它显示:404(未找到)所以我认为它可以加入API。
为什么500内部错误?我怎么能有200个成功?
提前谢谢。
答案 0 :(得分:1)
好的,我找到了对这个问题的回应。这是与数据库连接的问题(connectionString为null)。调用API并为404&amp; 500状态,但没有与BD连接错误的日志)。