0
私は基本的にタイトルのことを私のapiコントローラをテストするために言うとしていますが、適切な方法を見つけるのに問題があり、これにはあまりにも時間がかかります。ここに私のコードです。Moqを使用してJSON本体で模擬HTTP POST要求を作成する方法
[TestMethod]
public void Should_return_a_valid_json_result()
{
// Arrange
Search search = new Search();
search.Area = "test";
string json = JsonConvert.SerializeObject(search);
var context = new Mock<HttpContextBase>();
var request = new Mock<HttpRequestBase>();
request.Setup(r => r.HttpMethod).Returns("POST");
request.Setup(r => r.InputStream.ToString()).Returns(json);
context.Setup(c => c.Request).Returns(request.Object);
var controller = new UserController();
controller.ControllerContext = new HttpControllerContext() { RequestContext = context };
//more code
}
最後の行はエラーCS0029は、暗黙のうちに 'System.Web.Http.Controllers.HttpRequestContext' にタイプ 'Moq.Mock System.Web.HttpContextBase' を変換できません返します。
また、使用する必要があるMoq構文、その他の質問、例、およびMoqドキュメントが私にはあまり役に立たなかった。
この例ではMoqを避けることができますが、まだMoqの方法を理解したいと思います – D3v