1
У меня есть проект WEB API, который предоставляет некоторый REST API. Как написать тест, который запускает мою службу и выполняет некоторые HTTP-запросы?Как создать функциональные тесты ASP.NET WEB API
У меня есть проект WEB API, который предоставляет некоторый REST API. Как написать тест, который запускает мою службу и выполняет некоторые HTTP-запросы?Как создать функциональные тесты ASP.NET WEB API
Вы можете просто добавить проект тестирования модуля в свое решение.
Пример кода контроллера WebAPI,
public class ValuesController : ApiController
{
// GET api/values
public IEnumerable<string> Get()
{
return new string[] { "value1", "value2" };
}
// GET api/values/5
public string Get(int id)
{
return "value";
}
// POST api/values
public void Post([FromBody]string value)
{
}
// PUT api/values/5
public void Put(int id, [FromBody]string value)
{
}
// DELETE api/values/5
public void Delete(int id)
{
}
}
Образец WebAPI испытаний проект класса
[TestClass]
public class ValuesControllerTest
{
[TestMethod]
public void Get()
{
// Arrange
ValuesController controller = new ValuesController();
// Act
IEnumerable<string> result = controller.Get();
// Assert
Assert.IsNotNull(result);
Assert.AreEqual(2, result.Count());
Assert.AreEqual("value1", result.ElementAt(0));
Assert.AreEqual("value2", result.ElementAt(1));
}
[TestMethod]
public void GetById()
{
// Arrange
ValuesController controller = new ValuesController();
// Act
string result = controller.Get(5);
// Assert
Assert.AreEqual("value", result);
}
[TestMethod]
public void Post()
{
// Arrange
ValuesController controller = new ValuesController();
// Act
controller.Post("value");
// Assert
}
[TestMethod]
public void Put()
{
// Arrange
ValuesController controller = new ValuesController();
// Act
controller.Put(5, "value");
// Assert
}
[TestMethod]
public void Delete()
{
// Arrange
ValuesController controller = new ValuesController();
// Act
controller.Delete(5);
// Assert
}
}
так что вы хотите, чтобы писать тесты Unit или просто хотите проверить методы WebAPI? –
Я хочу написать тест, который запрашивает метод WEB API, получает ответ и проверяет этот ответ –
Я обновил свой ответ с подробным объяснением, если вы по-прежнему сталкиваетесь с какой-либо проблемой, дайте мне знать, если это полезно, пожалуйста, пожалуйста, подтвердите и принимайте его как ответил :). –