خبرخون

امروز : جمعه ۲ تیر ۱۳۹۶

آخرین بروز رسانی : یک دقیقه پیش

خبرهای امروز : 283

چگونه میتوان برای اپلیکیشن اندروید unit test نوشت؟ – بخش دوم

چگونه میتوان برای اپلیکیشن اندروید unit test نوشت؟ – بخش دوم
خبر خون، یک ربات جستجوگر اخبار است. خبرخون یک خبرگزاری نیست. از آنجا که نظارت انسانی برروی اخبار منتشر شده توسط خبرگزاری ها از طرف تیم خبر خون صورت نمی گیرد، در صورتیکه خبری باعث نقض حقوق شما شده است، لطفا با ما تماس بگیرید.
انتشار: منبع : App Review مشاهده خبر در سایت منبع
به اشتراک بگذارید:

در مطلب قبلی به نحوه نوشتن تست های واحد با استفاده از JUnit و Mockito پرداخته شد، در ادامه سایر شیوه های نوشتن تست واحد را بررسی میکنیم، با ما همراه باشید.

 

 

نوشتن تست با استفاده از Roboelectric

Robolectric یک فریم ورک تست واحد برای اندروید میباشد. با استفاده از آن میتوانید تست واحد اندروید را بر روی JVM اجرا کنید. در صورت شکست خوردن تست، فرآیند بیلد انجام نمیشود.

برای افزودن Roboelectric به وابستگی های تست خود باید وابستگی های خود را به صورت زیر آپدیت کنید

 

وقتی وابستگی موردنظر را اضافه کردیم، میتوانیم تست زیر برای MainActivity بیفزاییم

 

در تست بالا یک MainActivity Test ساخته ایم، این تست با استفاده از RoboelectricGradleTestRunner اجرا میشود.

سپس از Roboelectric Api با نام Roboelectric.setupActivity که اکتیویتی را اینیشیت میکند استفاده میکنیم که متدهایی مانند OnCreate و onStart را نیز فراخوانی میکند. سپس عناصر ویوی مختلف در اکتیویتی را گرفته و مقادیر را ست میکنیم. پس از ست شدن مقادیر، یک کلیک بر روی دکمه اجرا میکنیم. در آخر با کمک assertEqulas تایید میکنیم که TextView نتیجه شده دارای مقدار مناسب است.

 

همانطور که در مثال بالا مشخص است، Roboelectric نوشتن تست واحد برای کد اندروید را تسهیل میبخشد

 

نوشتن تست Instrumentation اندروید

اندروید شما را قادر به نوشتن تست های واحد Instrumentation میکند و این نوع تست ها بر روی گوشی واقعی اندروید به اجرا درمی آیند. از آنجا که تست بر روی گوشی اندروید انجام میشود، دیگر نیازی به شبیه سازی کلاس های اندروید نیست.

تست اجزای مختلف اندروید مانند اکتیوتی ها با استفاده از تست Instrumentation به سادگی صورت میپذیرد. اما مشکل اینجاست که به یک گوشی واقعی برای اجرای تست نیاز دارید و نمیتوان این تست را بر روی سیستم مجازی انجام داد.

 

جهت افزودن Instrumentation باید وابستگی های Gradle را به صورت زیر آپدیت کنید

 

برای نوشتن تست Instrumentation برای MainActivity، یک فایل به نام MainActivityInstrumentationTest.java بسازید.

این فایل باید در فولدر src/androidTest/java/com/testsinandroid قرار گرفته و محتوای زیر را داشته باشد

 

در کد بالا، کلاس تست ویژگی های خود را از ActivityInstrumentationTestCase2 به ارث برده است.

 

توسط ActivityInstrumentationTestCase2 میتوانیم برای اکتیویتی تست واحد بنویسیم. باید اکتیویتی (در این شرایط MainActivity) را در سازنده این کلاس تست کنیم. پس از آن باید متد setUp را که آبجکت اکتیویتی و سایر اجزای UI از اکتیویتی را در آن میگیریم، اورراید کنیم.

 

سپس یک تست مینویسیم که مشابه تستی است که در بخش قبل نوشته بودیم. این تست دارای UiThreadTest@ است و از آنجایی که برخی عملگرهای UI در تست وجود دارد، بر روی ترد UI اجرا میشود.

میتوان تست instrumentation را با استفاده از کامند و بعد از وصل کردن گوشی اجرا کرد

 

 

جمع بندی

در این مقاله با روش های مختلف نوشتن تست های واحد برای کد اندروید آشنا شدیم. میتوان بسته به نیازمندی های پروژه هریک از این تست ها را بر روی پروژه های اجرا کرد. تست های واحد خودکار مزایای بلندمدت بیشماری دارند و باید آن را به عنوان بخشی از فرآیند توسعه محسوب کرد.

 

فریم ورک هایی معرفی شده به شما در نوشتن تست های واحد برای اپلیکیشن اندروید کمک میکنند. بسیاری از عملیات پیچیده توسط این فریم ورک ها صورت میپذیرد و شما میتوانید بر روی فرآیند تست متمرکز شوید.

 

منبع:

https://www.sitepoint.com

نظر خود را بنویسید

با استناد به ماده 74 قانون تجارت الکترونیک مصوب 1382/10/17 مجلس شورای اسلامی و با عنایت به اینکه سایت خبرخون مصداق بستر مبادلات الکترونیکی متنی، صوتی و تصویر می باشد، مسئولیت نقض حقوق تصریح شده مولفان در قانون فوق از قبیل تکثیر، اجرا و توزیع و یا هر گونه محتوای خلاف قوانین کشور ایران بر عهده منبع خبر و کاربران است