2014-06-25 13 views
6

से मार्ग मिल प्ले 2.2.3 ढांचे का उपयोग करते हुए दिया मैं अपने मार्गों में इस प्रकार के एक मार्ग है फ़ाइल:प्ले 2 रिवर्स मार्ग,, नियंत्रक विधि

GET   /event         controllers.Event.events 

मैं कैसे प्रोग्राम के "/ घटना प्राप्त कर सकते हैं "जिस विधि को मैं पहुंचने की कोशिश कर रहा हूं उसे जानना, इस मामले में 'नियंत्रक। प्रमाणीकरण। प्रमाणीकरण'?

मुझे इसे परीक्षण उद्देश्य के लिए चाहिए, क्योंकि मैं मार्ग के लिए नहीं बल्कि बेहतर नियंत्रक विधि के लिए बेहतर परीक्षण इंतजार करना चाहता हूं।

[full package name].routes.[controller].[method] 

अपने उदाहरण में::

//Login with good password and login 
    val Some(loginResult) = route(FakeRequest(POST, "/login").withFormUrlEncodedBody(
     ("email", email) 
     , ("password", password))) 
    status(loginResult)(10.seconds)  mustBe 303 
    redirectLocation(loginResult).get mustBe "/event" 

उत्तर

25

आप इस तरह से रिवर्स मार्ग का निर्माण: तो शायद वहाँ मार्ग हो रही है और यह इस तरह का परीक्षण है कि मैं अब के लिए की तुलना में एक और उपाय है

controllers.routes.Authentication.authenticate 
controllers.routes.Events.events 

लेकिन कहते हैं कि तुम controllers.auth और controllers.content की तरह अपने संकुल बाहर तोड़ दिया, तो वे होगा:

controllers.auth.routes.Authentication.authenticate 
controllers.content.routes.Events.events 

रिवर्स मार्ग Call लौटाते हैं, जिसमें एक HTTP विधि और यूआरआई होता है। अपने परीक्षण में आप का निर्माण कर सकते एक FakeRequestCall एक साथ:

FakeRequest(controllers.routes.Authentication.authenticate) 

और तुम भी उपयोग कर सकते हैं रीडायरेक्ट यूआरआई परीक्षण करने के लिए:

val call: Call = controllers.routes.Events.events 
redirectLocation(loginResult) must beSome(call.url) 
+0

परफेक्ट धन्यवाद – sam

संबंधित मुद्दे