Şu Action Method
ürünüm var deneme deneme çalışıyorum. AcceptVerbs
'a dikkat edin? Bunu test ettiğimden emin olmalıyım.ASP.NET'te bir ASP ile HTTP-Post nasıl test edilir?
işte yöntem burada.
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Create([Bind(Include = "Subject, Content")]Post post,
HttpPostedFileBase imageFileName)
{
...
}
... İşte var moq kod
[TestMethod]
public void Create_Action_snip_sniop_When_Http_Post_Is_Succesful()
{
// Arrange.
var mock = new Mock<ControllerContext>();
mock.SetupGet(m => m.HttpContext.Request.HttpMethod).Returns("POST");
// Snip some other arrangements.
var controller = PostController;
controller.ControllerContext = mock.Object;
// Act.
var viewResult = controller.Create(post, image.Object) as ViewResult;
// Assert.
Assert.IsNotNull(viewResult);
// TODO: Test that the request was an Http-Post.
ne ben bir post oldu isteği doğrulamak için ne gerekiyor?
Yani sizin demek testleri aksine size .. .post fiil ile belirli denetleyici yöntemini dekore emin olmak için test etmekte olduğumuzu olduğunu Metot bir Http yayınlandı (Bu kapsamı dışında sıhhi tesisat yolu - bu çerçeve şeyler) çünkü yöntem ateş edildi ..? –
Doğru. Filtreyi başlatan işlevsellik, yöntemin kapsamı dışındadır (yöntem çağrılmadan önce işlenir), böylece doğru öznitelik uygulandığında, yönteminizde hiçbir POST olmayanını görmezsiniz. – tvanfosson