मेरे पास निम्न परिदृश्य है: मैं सेलेनियम वेबड्राइवर, जावा में ककड़ी में कई परीक्षण (@ टेस्ट) और परीक्षण करता हूं।

टेस्ट अच्छे चल रहे हैं। हालांकि, मैं एक @Test (सार्वजनिक शून्य) में दूसरे @Test (सार्वजनिक शून्य) में संग्रहीत स्ट्रिंग छोड़ना चाहता हूं। मैं नहीं कर सकता।

क्या कोई मदद कर सकता है?

पहला परीक्षण:

@Test
public void testDocuments() {
     OneClass oneClass = new OneClass();
     oneClass.one();
     oneClass.two();
}

दूसरा परीक्षण:

@Test
public void testDocuments() {
     OneClass oneClass = new OneClass();
     oneClass.one();
     oneClass.two();
}

विधि एक

public String one() {
        if (this.cnpj == null) {
            this.cnpj = add.cnpj(false);
        } else {
        }
        return this.cnpj;
    }

दोनों परीक्षण मैं चाहता हूं कि आप एक ही उत्पन्न स्ट्रिंग का उपयोग करें !!!!

मैं आगे देखता हूँ और अग्रिम धन्यवाद!

2
Estevao FPM 17 अगस्त 2020, 18:20

2 जवाब

मुझे यकीन नहीं है कि आपकी विधि एक() क्या करती है, लेकिन यह मानते हुए कि आप दो अलग-अलग परीक्षणों के लिए समान मान का उपयोग करना चाहते हैं, ऐसा क्यों न करें:

OneClass oneClass = new OneClass();
String yourGeneratedString = oneClass.one();  

// First test

@Test
public void testDocuments() {
     yourFunction(yourGeneratedString);
}

// Second test

@Test
public void testDocuments2() {
     yourOtherFunction(yourGeneratedString);
}
3
Michael S 17 अगस्त 2020, 18:37

अगर मैं इसे सही समझता हूं, तो आप डेटा को एक परीक्षण से दूसरे परीक्षण में साझा करना चाहते हैं। यदि आप उपयोगकर्ता testNG करते हैं तो आप इसे इस तरह से कर सकते हैं।

import org.testng.ITestContext;
import org.testng.annotations.Test;

public class MyTest {

  @Test
  public void testOne(ITestContext context){
    context.setAttribute("myKey", "myValue");
  }

  @Test
  public void testTwo(ITestContext context){
    String valueFromTestOne = (String) context.getAttribute("myKey");
    System.out.println("My key = " + valueFromTestOne);
  }
}

enter image description here

1
Motivated Mind 18 अगस्त 2020, 10:30