2011-08-23 17 views
5

मैं Grails 1.3.7 का उपयोग कर रहा हूँ। मैं अपने एकीकरण परीक्षण में एक रीडायरेक्ट का परीक्षण करने की कोशिश कर रहा हूं। यहाँ मेरी नियंत्रक और प्रश्न में विधि ... हैGrails: एकीकरण परीक्षण के साथ एक पुनर्निर्देशन का परीक्षण

class HomeController { 

def design = { 
    .... 
      if (params.page) { 
       redirect(uri: "/#/design/${params.page}") 
      } 
      else { 
       redirect(uri: "/#/design") 
      } 
      break; 
    } 
} 
अपने एकीकरण की परीक्षा में

हालांकि, कॉल करने के लिए "controller.response.redirectedUrl" (हमेशा अशक्त रिटर्न) विफल हो रहा है, भले ही मैं जानता हूँ कि रीडायरेक्ट कॉल किया जा रहा है बनाया (लॉगिंग के माध्यम से सत्यापित)। नीचे एकीकरण परीक्षण के साथ क्या गलत है?

class HomeControllerTests extends grails.test.ControllerUnitTestCase { 
    .... 

    void testHomePageDesign() { 
     def controller = new HomeController() 

     // Call action without any parameters 
     controller.design() 

     assert controller.response.redirectedUrl != null 

     assertTrue(responseStr != "") 
    } 

धन्यवाद, - डेव

उत्तर

2

अपने HomeControllerTests बदलने GrailsUnitTestCase विस्तार करने के लिए इस समस्या को ठीक करना चाहिए।

class HomeControllerTests extends grails.test.GrailsUnitTestCase { 
    .... 
} 

टेस्ट क्लास बनाने के विभिन्न तरीकों में विस्तारित वर्ग को अलग-अलग लगता है।

create-integration-test => GroovyTestCase 
create-unit-test => GrailsUnitTestCase 
create-controller => ControllerUnitTestCase 

हालांकि, Test section of the Grails User Guide के अनुसार, GrailsUnitTestCase परीक्षण फ्रेम का मुख्य भाग होता है और कम से कम 1.3.7 में, उस पर आधार परीक्षण वर्गों के लिए सबसे अच्छा वर्ग है।

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