테스트 프로젝트의 odata 컨트롤러에서 다음 패치 메소드를 테스트해야합니다.패치 odata webapi 메소드 테스트하기
[ValidateModel]
[AcceptVerbs("PATCH", "MERGE")]
public async Task<IHttpActionResult> Patch([FromODataUri] int key, Delta<User> patch)
{
var user = await db.Users.FindAsync(key);
if (user == null)
{
return NotFound();
}
patch.Patch(user);
Validate(user);
if (!ModelState.IsValid)
{
return BadRequest(ModelState);
}
try
{
db.Entry(user).Property(p => p.UserType).IsModified = false;
await db.SaveChangesAsync();
}
catch (DbUpdateConcurrencyException)
{
if (!UserExists(key))
{
return NotFound();
}
throw;
}
return Updated(user);
}
테스트 프로젝트의 코드는 다음과 같습니다. 누군가 델타 매개 변수에 값을 전달하는 방법을 말해 줄 수 있습니까? 현재 라인 컨트롤러에서 컴파일 오류가 발생합니다. 패치 (1, 사용자) ;.
[TestMethod]
public void TestPatch()
{
// Arrange
var controller = new UsersController();
var user = new User();
user.Id = 1;
user.Lastname = "Johanson";
// Act
controller.Patch(1, <System.Web.OData.Delta> user);
// Assert
}
컴파일 오류 란 무엇입니까? – yenta