Testing Repository

تست data layer اغلب آسونه. معمولاً repositoryها از Unit Test استفاده میکنین. بجای data source واقعی از fake یا mock استفاده میشه و از هندل شدن و call کردن موفق داده‌ها توسط repository مطمئن میشیم.

Testing

Testing data sources

تست کردن data sourceها می‌تونه کمی tricky باشه چون به دیتابیس یا API remote وابسته هستن. به هرحال، کتابخانه‌هایی به همین منظور هستش که مکانیزم ساختگی‌ای برای تست مهیا میکنن. برای مثال Room یک دیتابیس in-memory پیاده‌سازی می‌کنه که به تست کد در data source کمک می‌کنه.

Testing

Big Test

در تست‌های در سطح پروژه (end-to-end and big test) همزمان تمامی لایه‌های اپلیکیشن تست میشن. و شاید بخواهید برای اینکه روند تست سریع و مطمئن انجام بشه از داده‌های fake استفاده کنید. اگه از dependency injection استفاده می‌کنید میتونید data sourceها یا repositoryها رو با پیاده‌سازی fake جایگزین کنین.

Testing

همچنین میتونین network callها رو هم با کتابخانه‌هایی مثل Mock یا MockWebServer جعل کنین.

تموم شد! امیدوارم تفاوت بین repository و data source و اینکه نحوه model کردن داده‌ها به منظور expose کردن‌شون رو رو متوجه شده باشید.