#c# #automated-tests #asp.net-core-mvc #dotnet-httpclient #.net-3.0
#c# #автоматизированные тесты #asp.net-core-mvc #dotnet-httpclient #.net-3.0
Вопрос:
Я получил проект dotnet и создавал процедуру тестирования реализации
Вот мой код:
База-&&t; BaseProject-&&t; Контроллеры-&&t; SensorController
[Route("[controller]")]
[ApiController]
public class SensorController : Controller
{
private readonly SensorContext _context;
public SensorController(SensorContext context)
{
_context = context;
}
[HttpGet("api/")]
public async Task<ActionResult<IEnumerable<Sensor&&t;&&t;&&t; GetTodoItems()
{
return await _context.Sensor.ToListAsync();
}
}
И в моем тестовом проекте я получил это:
База-&&t; Тестовый проект-&&t; Приспособления-&&t; TestContext
public class TestContext
{
public HttpClient Client { &et; private set; }
private TestServer _server;
public TestContext()
{
SetupClient();
}
private void SetupClient()
{
_server = new TestServer(new WebHostBuilder().UseStartup<Startup&&t;());
Client = _server.CreateClient();
}
}
База-&&t; TestProject-&&t;SensorApiTest.cs
public class SensorApiTest
{
private readonly TestContext _testContext;
public SensorApiTest()
{
_testContext = new TestContext();
}
[Fact]
public async Task Values_Get_ReturnsOkResponse()
{
var response = await _testContext.Client.GetAsync("/Sensor/api");
response.EnsureSuccessStatusCode();
Assert.Equal(HttpStatusCode.OK, response.StatusCode);
}
}
Если я запускаю базовый проект и отправляю запросы с помощью insominia, я получаю ответы просто отлично. Но запуск TestProject с помощью dotnet test возвращает ошибку 404.
Зависимости от проекта работают нормально, я не знаю, почему это не выполняется.
Кто-нибудь может мне помочь? Спасибо