کلیدستان

نسخه‌ی کامل: معرفی کتابخانه Testing Support اندروید(قسمت اول)
شما در حال مشاهده نسخه آرشیو هستید. برای مشاهده نسخه کامل کلیک کنید.
کتابخانه  تست پشتیبان اندروید، یک بستر گسترده را برای تست برنامه های اندروید فراهم می کند. این کتابخانه با استفاده از مجموعه ای از رابط های برنامه کاربردی به شما امکان ساختن سریع کدها و تست برنامه را می دهد این کتابخانه شامل  تست رابط کاربری و JUnit4 نیز می باشد. می توانید این کتابخانه را از طریق API از داخل اندروید استودیو IDE  یا خط فرمان فراخوانی کنید. همچنین کتابخانه پشتیبان تست اندروید از طریق Android SDK قابل دسترسی است.
در این مقاله آموزش برنامه نویسی موبایل و مقاله بعدی اطلاعاتی در مورد کتابخانه پشتیبان تست در اندروید، نحوه استفاده از آنها و محیط تست و اطلاعاتی که این کتابخانه به ما می دهد، توضیح می دهیم.
کتابخانه Testing Support اندروید شامل ابزار زیر می باشد:


 
AndroidJUnitRunner: سازگار با JUnit4 برای اجرای اندروید
Espresso: محیط تست UI ، محیطی مناسب برای تست رابط کاربری در یک برنامه
UI Automator: محیطی برای تست UI، مناسب برای تست روابط متقابل برنامه های کاربردی و نصب شده در سراسر سیستم
AndroidJUnitRunner
 کلاسی است که JUnit را تست می کند. این کلاس JUnit 3   یا 4 را در دستگاههای اندرویدی تست می کند و شامل محیط های تست UI و Espresso نیز می باشد.
این کلاس همچنین امکازه بارگذاری پکیج ها و برنامه ها را روی وسیله، حین تست می دهد.
کلاس AndroidJUnitRunner جایگزین کلاس  InstrumentationTestRunner که فقط از  JUnit 3 پشتیبانی می کرد، می باشد.
JUnit support
کتابخانه Test سازگار با  JUnit 3 و  JUnit 4(تا JUnit 4.10) می باشد.اما نباید همزمان هم  JUnit 3 و هم  JUnit 4 را باهم در یک پکیج تست کنید چرا که نتایج نامشخص می دهد.
اگر در حال ایجاد ابزاری برای تست JUnit 4 می باشید باید کلاس تست خود را با دستور
@RunWith(AndroidJUnit4.class)
 بنویسید.
قطعه کد زیر نشان می دهد که چگونه یک ابزار اتدازه گیری از JUnit 4 عمگرهای اضافه شده به کلاس CalculatorActivity  را بررسی می کند.
import android.support.test.runner.AndroidJUnit4;
import android.support.test.runner.AndroidJUnitRunner;
import android.test.ActivityInstrumentationTestCase2;

@RunWith(AndroidJUnit4.class)
public class CalculatorInstrumentationTest
        extends ActivityInstrumentationTestCase2<CalculatorActivity> {                           
    @Before
      public void setUp() throws Exception {
                super.setUp();  

       // Injecting the Instrumentation instance is required 
       // for your test to run with AndroidJUnitRunner.
        injectInstrumentation(InstrumentationRegistry.getInstrumentation());
        mActivity = getActivity();
 
  }  
    @Test
 
    public void typeOperandsAndPerformAddOperation() {   
    // Call the CalculatorActivity add() method and pass in some operand values, then   
        // check that the expected value is returned.
    }
    @After
    public void tearDown() throws Exception {
        super.tearDown();
 
{      
{
 
می توانید از کلاس JUnit support برای دسترسی به اطلاعات تست خود استفاده کنید. این کلاس شامل ابزارهای شی گرایی برای تست متن برنامه و آرگومان های خط فرمان برنامه می باشد، این ابزار زمانی مفید است که تست با استفاده از  UI Automator نوشته شده یا وابسته به متن و ابزار باشد.
فیلتر کردن تست
در تست های JUnit 4.x می توانید با استفاده از یک سری پیکربندی تست خود را محدود کنید تا ایجاد کدهای شرطی را در متن کاهش دهید.
 
@RequiresDevice:
مشخص می کند که تست فقط در محیط فیزیکی اجرا شود
AngrySdkSupress
به برنامه می گوید که تست بر روی اندروید API در سطحی پایین تر از سطح  معمول انجام شود
کد:
:@SmallTest

کد:
@MediumTest
, و 
کد:
@LargeTest
برای تنظیم اینکه چه مدت زمان و چندبار، برنامه تست شود.
Test sharding
یک کلاس کد را به چندین قطعه کوچکتر تقسیم می کند و شما می توانید این قطعات را به تنهایی یا  با یکدیگر تست کنید هر کد تقسیم شده با یک شماره، شناسایی می شود زمانی که تست اجرا می شود با نوشتن عبارت –e و سپس شماره کد، می توانید آن  کد را مشخص کنید.
در مثال زیر کدی به 10 قطعه کد تقسیم شده و تنها قسمت دوم این تست می شود.
adb shell am instrument   -w   -e   numShards  10  -e    shardIndex   2
در مقاله بعدی کلاس های دیگر این کتابخانه را معرفی می کنیم.

منبع:سروش پرداز|برنامه نویسی اندروید