2012-02-16 15 views
6

मैं दो परीक्षण बनाने की कोशिश कर रहा हूं जहां कोई दूसरे के निष्पादन पर निर्भर है। जिस परियोजना पर मैं काम कर रहा हूं वह विरासत कोड से भरा है, इसलिए मैं एप्लिकेशन के मुख्य भाग टेस्ट करने योग्य बनाने की कोशिश कर रहा हूं। पहला परीक्षण मूल रूप से डेटाबेस से कुछ कनेक्शन बनाने और कुछ स्थैतिक चर सेट करने का प्रयास करेगा। टेस्ट 2 फिर कुछ डेटा डालने के लिए कनेक्शन और चर का उपयोग करेगा। टेस्ट 2 में टेस्ट 1 एक और बार काम नहीं करता है।विधि nonexistent समूह पर निर्भर करता है - Testng

मैंने test1 पर टेस्ट 2 निर्भर किया है ताकि यदि टेस्ट 1 विफल हो जाए, तो टेस्ट 2 निष्पादित नहीं होगा। लेकिन अगर टेस्ट 2 विफल रहता है तो मैं इसे फिर से चालू करने में सक्षम होना चाहता हूं। जब मैं इंटेलिज आईडीईए में इसे आज़माता हूं तो मुझे निम्न मिलता है:

java.lang.Throwable: Method a.stack.Test2.failingTest() depends on nonexistent group "FirstTest" 

मुझे क्या याद आ रही है?

Test1:

package a.stack; 

import org.testng.Assert; 
import org.testng.annotations.BeforeSuite; 
import org.testng.annotations.Test; 

/** 
* The First test 
*/ 
@Test(groups = {"FirstTest"}) 
public class Test1 { 

    public void init(){ 
     // Initialize something which other tests should use 
     Assert.assertTrue(true); 
    } 
} 

और Test2:

package a.stack; 

import org.testng.Assert; 
import org.testng.annotations.Test; 

/** 
* 
*/ 
@Test(groups = {"OtherTests"}, dependsOnGroups = {"FirstTest"}) 
public class Test2 { 
    public void failingTest(){ 
     Assert.assertTrue(false); 
    } 
} 

Testng.xml:

<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" > 
<suite name="test" verbose="1"> 
    <test name="basic" junit="false"> 
     <groups> 
      <run> 
       <include name="FirstTest"/> 
       <include name="OtherTests"/> 
      </run> 
     </groups> 
     <packages> 
      <package name="a.*"/> 
     </packages> 
    </test> 
</suite> 

उत्तर

0

आप यह सुनिश्चित करें कि पैकेज आपके द्वारा निर्दिष्ट उस समूह में शामिल तरीकों हैं?

+0

यह पहले रन पर काम करता है, लेकिन जब टेस्ट 2 विफल रहता है और मैं असफल परीक्षणों का पुन: प्रयास करता हूं तो यह फेंकने योग्य होता है जो इंगित करता है कि समूह, फर्स्टटेस्ट मौजूद नहीं है। – user1213843

0

यदि कोई परीक्षण सूट में विफल रहता है तो testng-failed.xml फ़ाइल आउटपुट निर्देशिका में बनाई गई है जिसका उपयोग विफल मामलों को पुन: चालू करने के लिए किया जाता है। क्या आप यह सुनिश्चित करने के लिए उस फ़ाइल को जांच सकते हैं कि xml फ़ाइल में दोनों समूह हैं, न केवल अन्य परीक्षण, जो वास्तव में असफल रहे?

<run> 
     <include name="FirstTest"/> 
     <include name="OtherTests"/> 
</run> 

क्योंकि यह समूह FirstTest तो त्रुटि depends on nonexistent group "FirstTest" फेंक दिया जाता है नहीं है, तो।

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