Use StatusCodeResult for ease of testing.
Example (in xUnit):
var result = Assert.IsType<StatusCodeResult>(valuesController.Blah(data)); Assert.Equal(415, result.StatusCode);
Responding to a comment: I would prefer something like below:
public IHttpActionResult Get(int id) { if(id == 10) { return StatusCode(HttpStatusCode.NotFound); } return Ok("Some value"); }
but not:
public IHttpActionResult Get(int id) { if(id == 10) { return ResponseMessage(Request.CreateResponse(HttpStatusCode.NotFound)); } return Ok("Some value"); }
source share