【发布时间】:2019-12-01 13:24:53
【问题描述】:
类似于Get the full route to current action,但我想从控制器方法之外获取路由。
[ApiController]
public class TestController : ControllerBase {
public IActionResult OkTest() {
return Ok(true);
}
}
然后是一个测试类:
public class TestControllerTests {
private readonly HttpClient _client;
public TestControllerTests() {
_client = TestSetup.GetTestClient();
}
[Test]
public async Task OkTest() {
var path = GetPathHere(); // should return "/api/test/oktest". But what is the call?
var response = await _client.GetAsync(path);
response.EnsureSuccessStatusCode();
}
}
【问题讨论】:
-
看看是否符合你的需求stackoverflow.com/questions/34977352/…
-
一个想法是使用旨在自动化 API 测试的应用程序......就像 SoapUI。
-
作为一个选项,您可以拥有一个代理生成器并使用生成的代理。作为另一种选择,您可以拥有一些关于 API 的元数据,并从元数据中获取 URL。作为另一种选择,您可以依赖一些约定。
-
使用swagger应该可以满足要求。
标签: c# asp.net-mvc asp.net-core integration-testing url-routing