c# - 集成测试——微服务相互调用
问题描述
我在我的应用程序上运行集成测试时遇到问题。
我正在尝试在控制器上编写一个测试,该测试在同一解决方案中调用另一个 api 控制器。
所以基本上我有两个 APIS 一个在同一个解决方案中调用另一个。
我知道如何测试一个 API,但我似乎不知道如何运行另一个 API。
我已经尝试构建两个具有不同启动的独立测试服务器。但似乎没有什么会触发其他 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;
}
解决方案
推荐阅读
- javascript - 在 Objective-C 中处理 Javascript onclick 函数
- spring - 为什么我收到 404 错误使用 Spring MVC 框架?
- python - 将多个断言链接在一起
- material-ui - 如何使用 Material UI DatePicker 的基本示例
- excel - 如何基于字符串连接多个引用表
- sql - SQL Count 基于另一列的列数
- visual-studio-code - JSON Schema - 数组/列表验证可以与 anyOf 结合使用吗?
- sql-server - 如何在 SQL Server 的表中存储存储过程
- javascript - ExpressJS Node.js Angular 错误:获取 OAuth2 API 授权令牌时出现 getaddrinfo ENOTFOUND
- angular - 无法使用键盘输入日期