2012-03-20 10 views
6

में एकीकृत सोपूआई मॉक मैं सोच रहा था कि WSClient के लिए कुछ एकीकरण परीक्षण कैसे करें। मेरी परियोजना मेवेन के साथ बनाया गया है।मैवेन टेस्ट

कॉन्फ़िगरेशन प्रारंभिक परीक्षण और कुछ अनुरोधों का परीक्षण करने के लिए मैंने सोचा कि सोपूआई मॉक सेवा शुरू करना एक अच्छा विचार था। तब मैं कुछ पदों से उस कॉन्फ़िगरेशन में पुनः प्राप्त हुआ।

मेरी pom.xml

<plugin> 
      <groupId>eviware</groupId> 
      <artifactId>maven-soapui-plugin</artifactId> 
      <version>4.0.1</version> 
      <executions> 
       <execution> 
        <id>StartupMock</id> 
        <configuration> 
         <projectFile>src/test/soapui/MyMock-soapui-project.xml</projectFile> 
         <outputFolder>${project.build.directory}/surefire-reports</outputFolder> 
         <junitReport>true</junitReport> 
         <host>http://127.0.0.1:8181</host> 
         <mockService>DataProviderMock</mockService> 
        </configuration> 
        <goals> 
         <goal>test</goal> 
        </goals> 
        <phase>test</phase> 
       </execution> 
      </executions> 
     </plugin> 

मेरे MockService में कहा जाता MyMock http://127.0.0.1:8181/somepath पर शुरू किया जाना चाहिए था, जहां मेरे WSClient अनुरोध भेज सकते हैं। लेकिन मैं mvn test चरण के दौरान नकली शुरू करने में सक्षम नहीं था।

क्या यह WSClients का परीक्षण करने का अनुचित तरीका है? उस स्थिति में, समस्या या गलत कॉन्फ़िगरेशन कहां है?

संपादित करें: कोई त्रुटि नहीं है। मैं उस बंदरगाह 8181 पर नकली सुन नहीं देख सकता। केवल संदेशों मैं (soapui.log से) देख रहे हैं:

2012-03-21 10:17:21,011 WARN [SoapUI] Missing folder [D:\proyectos\everest-utils\everest-bridge\trunk\.\ext] for external libraries 
2012-03-21 10:17:21,392 INFO [DefaultSoapUICore] initialized soapui-settings from [C:\Users\rromero\soapui-settings.xml] 
2012-03-21 10:17:23,205 INFO [WsdlProject] Loaded project from [file:/D:/proyectos/everest-utils/everest-bridge/trunk/src/test/soapui/MyMock-soapui-project.xml] 
2012-03-21 10:17:23,891 INFO [SoapUITestCaseRunner] Running soapUI tests in project [DataProvider] 
2012-03-21 10:17:23,894 INFO [SoapUITestCaseRunner] Running Project [MyMock], runType = SEQUENTIAL 
2012-03-21 10:17:23,900 INFO [SoapUITestCaseRunner] Project [MyMock] finished with status [FINISHED] in 0ms 
आप से अग्रिम और तरह का संबंध में

,

रूबेन

+0

आप किस प्रकार की त्रुटि देख रहे हैं? – nwinkler

+0

मैंने अपना प्रश्न संपादित किया। धन्यवाद। –

उत्तर

6

http://www.soapui.org/Test-Automation/maven-2x.html के अनुसार आप के बजाय mock लक्ष्य चलाने की आवश्यकता test लक्ष्य।

<plugin> 
     <groupId>eviware</groupId> 
     <artifactId>maven-soapui-plugin</artifactId> 
     <version>4.6.1</version> 
     <executions> 
      <execution> 
       <id>StartupMock</id> 
       <configuration> 
        <projectFile>src/test/soapui/MyMock-soapui-project.xml</projectFile> 
        <outputFolder>${project.build.directory}/surefire-reports</outputFolder> 
        <junitReport>true</junitReport> 
        <host>http://127.0.0.1:8181</host> 
        <mockService>DataProviderMock</mockService> 
        <noBlock>true</noBlock> 
       </configuration> 
       <goals> 
        <goal>mock</goal> 
       </goals> 
       <phase>process-test-classes</phase> 
      </execution> 
     </executions> 
    </plugin> 

दो और परिवर्तन: mock लक्ष्य फोन करने के लिए अपने goal अनुभाग में बदलें

  • सुनिश्चित करें कि आप परीक्षण, उदा चल करने के लिए पिछले एक चरण में नकली परीक्षण शुरू pre-integration-test या process-test-classes
  • विकल्प true के साथ जोड़ें।

उदाहरण के लिए ऊपर देखें।

+0

मैंने लक्ष्य बदल दिया और हाँ यह नकली शुरू कर दिया। लेकिन यह उपयोगकर्ता को किसी भी कुंजी को दबाए रखने की प्रतीक्षा करता है। क्या परीक्षण पास होने तक जूनिट परीक्षण से पहले नकली चलाने का कोई तरीका है? ऐसा लगता है जैसे परीक्षणों को निष्पादित करने के बाद ही उपयोग किया जा सकता है। धन्यवाद @nwinkler –

+0

वैसे भी मैं अपने '@ पहले क्लास' विधि में 'SoapUIMockServiceRunner' का उपयोग करने का प्रयास कर रहा हूं, शायद यह एक बेहतर समाधान है। –

+0

मैंने इनमें से कुछ को संबोधित करने के लिए मेरे उदाहरण में जोड़ा है। – nwinkler