我无法在应用程序上运行集成测试。
我正在尝试在控制器上编写一个测试,以在同一解决方案中调用另一个api控制器。
所以基本上我有两个APIS在同一解决方案中互相调用。
我知道如何测试一个API,但是我似乎无法弄清楚如何运行另一个API。
我尝试用不同的启动构建两个单独的TestServer。但是似乎没有什么可以触发其他api。
任何指针都将不胜感激。
[TestInitialize]
public void Init()
{
var builder = new WebHostBuilder()
.UseConfiguration(new ConfigurationBuilder()
.AddJsonFile("appsettings.json")
.Build())
.UseStartup<Startup>();
_server = new TestServer(builder);
_client = _server.CreateClient();
}
[TestMethod]
public void TestUser()
{
var request = _client.GetAsync("/api/v1/").Result;
var jsonString = request.Content.ReadAsStringAsync().Result;
var result = JsonConvert.DeserializeObject<bool>(jsonString);
Assert.IsNotNull(result);
}
public async Task<bool?> GetUser()
{
bool? result = null;
HttpResponseMessage response = await _client.GetAsync("/");
if (response.IsSuccessStatusCode)
{
var responseContent = await response.Content.ReadAsStringAsync();
result = JsonConvert.DeserializeObject<bool>(responseContent);
}
return result;
}