android-testingAndroid-परीक्षण के साथ आरंभ करना


टिप्पणियों

यह अनुभाग एंड्रॉइड-परीक्षण क्या है, और एक डेवलपर इसका उपयोग क्यों करना चाहता है, इसका अवलोकन प्रदान करता है।

इसमें एंड्रॉइड-टेस्टिंग के भीतर किसी भी बड़े विषयों का उल्लेख होना चाहिए, और संबंधित विषयों को लिंक करना चाहिए। चूंकि Android-परीक्षण के लिए दस्तावेज़ नया है, इसलिए आपको उन संबंधित विषयों के प्रारंभिक संस्करण बनाने की आवश्यकता हो सकती है।

टेस्ट के प्रकार

Android परीक्षण JUnit पर आधारित हैं, और आप इन्हें JVM पर स्थानीय इकाई परीक्षणों के रूप में या Android डिवाइस पर इंस्ट्रूमेंटेड परीक्षणों के रूप में चला सकते हैं। यह पृष्ठ Android परीक्षणों के निर्माण के लिए अवधारणाओं और उपकरणों का परिचय प्रदान करता है

  • स्थानीय इकाई परीक्षण (मॉड्यूल-नाम / src / परीक्षण / जावा / पर स्थित)
  • साधन परीक्षण (मॉड्यूल-नाम / src / androidTest / जावा / पर स्थित)

स्थानीय इकाई JUnit का परीक्षण करती है

@RunWith(AndroidJUnit4.class)
@LargeTest
public class MainActivityInstrumentationTest {

    @Rule
    public ActivityTestRule mActivityRule = new ActivityTestRule<>(
            MainActivity.class);

    @Test
    public void sayHello(){
        onView(withText("Say hello!")).perform(click());

        onView(withId(R.id.textView)).check(matches(withText("Hello, World!")));
    }
}
 

साधन परीक्षण उदाहरण निर्भरताएँ {androidTestCompile 'com.android.support:support-annotations:24.0.0' androidTestCompile 'com.android.support.test: धावक: 0.5' androidTestCompile 'com.android.support.test: नियम: 0.5' / / वैकल्पिक - हैमरेस्ट लाइब्रेरी androidTestCompile 'org.hamcrest: हैमरेस्ट-लाइब्रेरी: 1.3' // वैकल्पिक - UI परीक्षण एस्प्रेसो androidTestCompile 'com.android.support.test.especo: एस्प्रेसो-कोर: 2.2.2' के साथ वैकल्पिक - UI ऑटोमेटर AndroidTestCompile 'com.android.support.test.uiautomator: uiautomator-v18: 2.1.2'} के साथ UI परीक्षण

Android {defaultConfig {testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"}}

इंस्ट्रूमेंटेड यूनिट टेस्ट क्लास

import android.os.Parcel;
import android.support.test.runner.AndroidJUnit4;
import android.util.Pair;
import org.junit.Test;
import org.junit.runner.RunWith;
import java.util.List;
import static org.hamcrest.Matchers.is;
import static org.junit.Assert.assertThat;

@RunWith(AndroidJUnit4.class)
@SmallTest
public class LogHistoryAndroidUnitTest {

    public static final String TEST_STRING = "This is a string";
    public static final long TEST_LONG = 12345678L;
    private LogHistory mLogHistory;

    @Before
    public void createLogHistory() {
        mLogHistory = new LogHistory();
    }

    @Test
    public void logHistory_ParcelableWriteRead() {
        // Set up the Parcelable object to send and receive.
        mLogHistory.addEntry(TEST_STRING, TEST_LONG);

        // Write the data.
        Parcel parcel = Parcel.obtain();
        mLogHistory.writeToParcel(parcel, mLogHistory.describeContents());

        // After you're done with writing, you need to reset the parcel for reading.
        parcel.setDataPosition(0);

        // Read the data.
        LogHistory createdFromParcel = LogHistory.CREATOR.createFromParcel(parcel);
        List<Pair<String, Long>> createdFromParcelData = createdFromParcel.getData();

        // Verify that the received data is correct.
        assertThat(createdFromParcelData.size(), is(1));
        assertThat(createdFromParcelData.get(0).first, is(TEST_STRING));
        assertThat(createdFromParcelData.get(0).second, is(TEST_LONG));
    }
}