MvcContrib-TestHelper를 사용하여 내 앱의 라우팅을 테스트하고 있습니다. 난 단지 HTTP POST로 제한 조치가 :HTTP POST를 통해서만 MVC 작업에 액세스 할 수 있는지 테스트하는 방법은 무엇입니까?
public TestController { [HttpPost] public ActionResult Example() { return View(); } }
을 그리고 여기에 실패 테스트의 예입니다
그러나[TestFixture] public class RoutingTests { [TestFixtureSetUp] public void TestFixtureSetUp() { RouteTable.Routes.Clear(); Application.RegisterRoutes(RouteTable.Routes); } [Test] public void TestWithGet() { var route = "~/Test/Example".WithMethod(HttpVerbs.Get); route.ShouldMapTo(r => r.Example()); } }
이 테스트를 통과! 이 질문이 제기 된 다른 대답없는 질문 (미안, 잘못된 링크)을 보았는데 기능이 손상된 것처럼 보입니다. POST를 통해서만이 경로에 액세스 할 수 있는지 테스트하는 더 좋은 방법은 무엇입니까?
[HttpPost]와 [AcceptVerbs (HttpVerbs.Post)]의 차이에 관계없이이 기능이 작동합니까? – sargant
그것을 확인하십시오. 나는 이것이 거의 동일하다는 것을 거의 90 % 확신하고있다. – Mediator
테스트를 감안할 때, AcceptVerbsAttribute와 HttpPostAttribute가 따로있다. 리플렉션은 내가 얻는 것만큼이나 가깝습니다. 라우팅 정보를 분석하는 실제 방법에 더 가까운 것이 있으면 볼 수 있습니다. 그렇지 않은 경우 곧 답변을 받아 들일 것입니다. 감사! – sargant