اجراکنندهی تست، واحد اجرایی جریان فراخوانی است. این جایی است که تستها در واقع اجرا میشوند.
رابطها
اجراکنندههای تست از طریق رابط IRemoteTest تعریف میشوند، که یک متد run ساده برای پیادهسازی ارائه میدهد که هنگام اجرای تستها فراخوانی میشود.
این امر امکان وقوع سادهترین تعریف از اجرای تست را فراهم میکند. اما در عمل، نویسندگان تست برای نوشتن صحیح تستهای خود به اطلاعات بیشتری، معمولاً اطلاعات ساخت و دستگاه، نیاز دارند. اینجاست که رابطهای زیر مفید واقع میشوند.
پایه
این دو رابط امروزه بیشترین کاربرد را دارند، زیرا نیازهای اساسی اکثر آزمونها را برآورده میکنند.
- IBuildReceiver به تست اجازه میدهد تا شیء
IBuildInfoایجاد شده در مرحله ارائه دهنده ساخت را که شامل تمام اطلاعات و مصنوعات مربوط به تنظیمات تست است، دریافت کند. - IDeviceTest به TF اجازه میدهد تا شیء
ITestDeviceرا که نشان دهنده دستگاه تحت آزمایش است، دریافت کند و یک API برای تعامل با آن ارائه دهد.
پیشرفته
رابطهای اضافی دیگری نیز وجود دارند که امکان تعامل پیچیدهتری بین مهار تست و اجراکننده تست را فراهم میکنند:
- ITestFilterReceiver ، که به تست اجازه میدهد مجموعهای از فیلترها را فقط برای اجرای تستهای خاص دریافت کند. این در اجرای زیرمجموعهای از تستها مفید است.
- ITestCollector ، که به یک اجراکننده تست اجازه میدهد تا تستها را به جای اجرای واقعی، فقط به صورت آزمایشی اجرا کند. این در جمعآوری لیست تمام موارد تست مفید است.
دوندههای آزمایشی موجود
انواع مختلفی از اجراکنندههای تست از قبل وجود دارند، برخی برای انواع اصلی تست:
- AndroidJUnitTest / InstrumentationTest (مرتبط با AJUR در سمت دستگاه)
- GTest (سمت دستگاه و میزبان) با کتابخانه googletest
- تستهای مبتنی بر میزبان (تستهای جاوا که روی میزبان اجرا میشوند و دستگاه را از آنجا فراخوانی میکنند)
- تستهای واحد جاوای خالص (اجراکننده ما هر دو را انجام میدهد)
- تستهای پایتون
- تستهای گوگل بنچمارک با کتابخانه بنچمارک
علاوه بر موارد فوق، تعداد زیادی از اجراکنندههای تست سفارشی وجود دارند؛ آنها اهداف تخصصی برای برخی تستهای عملکردی، به عنوان مثال، تست بوت، را ارائه میدهند.
یک تست رانر جدید بنویسید
راهنمایی بیشتر در مورد نوشتن یک اجراکننده تست جدید در بخش تستهای نوشتن موجود است.