VS2013根据我的EF上下文为我自动生成了一个web api v2控制器.我正在尝试对控制器的放置部分进行单元测试.无论我做什么,我都无法通过检查StatusCodeResult返回来获取断言.自动生成的代码如下所示:
// PUT api/Vendor/5
public IHttpActionResult PutVendor(int id, Vendor vendor)
{
if (!ModelState.IsValid)
{
return BadRequest(ModelState);
}
if (id != vendor.Id)
{
return BadRequest();
}
db.Entry(vendor).State = EntityState.Modified;
try
{
db.SaveChanges();
}
catch (DbUpdateConcurrencyException)
{
if (!VendorExists(id))
{
return NotFound();
}
else
{
throw;
}
}
return StatusCode(HttpStatusCode.NoContent);
}
Run Code Online (Sandbox Code Playgroud)
我的集成测试如下所示:
[TestMethod]
public void PutVendor_UpdateVendorRecord_ReturnsTrue()
{
// Arrange
//CleanUpVendors();
var controller = new VendorController(ctx);
const string vendorName = "Unit Test Company";
// Add vendor to database
ctx.Vendors.Add(new Vendor { …Run Code Online (Sandbox Code Playgroud)