【发布时间】:2015-04-08 12:58:01
【问题描述】:
我有一个方法,这也是我要为其编写测试的方法:
public IPlayerResponse GetPlayerStats(IPlayerRequest playerRequest)
{
string playerId = playerRequest.PlayerId;
string requestUri = playerId + "/evaluate";
var request = new HttpRequestMessage(HttpMethod.Post, requestUri)
{
Content = new StringContent
(JsonConvert.SerializeObject(playerRequest),
System.Text.Encoding.UTF8,
"application/json")
};
var response = _client
.SendAsync(request, CancellationToken.None)
.Result;
var responseContent = response.
Content
.ReadAsStringAsync()
.Result;
var playerResponseModel =
JsonConvert.DeserializeObject<PlayerResponseModel>(responseContent);
var playerResponse = _mapper
.Map<IPlayerResponse>(playerResponseModel);
return playerResponse;
}
请求接口:
public interface IPlayerRequest
{
IEnumerable<IPlayerStatsItem> Items { get; set; }
string PlayerId { get; set; }
}
我计划为此方法编写一个测试并发送IPlayerRequest 的示例数据,以获取针对已部署端点的响应。我已准备好 TestSetup 以访问端点。
模拟IPlayerRequest 并用一些数据填充它以获得响应的理想方法是什么?
【问题讨论】:
标签: c# unit-testing .net-4.5 moq mstest