ইউনিট টেস্ট সেট-আপ করা
এই বিভাগে উদাহরণ দেওয়া হয়েছে যে কীভাবে ইউনিট টেস্ট সেট-আপ করতে হয় যাতে চেক করা যায় যে আপনার অ্যাপ প্রত্যাশা অনুযায়ী কীড অ্যাপ স্টেটের সাথে ইন্টার্যাক্ট করছে।
ধাপ ১: প্যারামিটার হিসেবে KeyedAppStatesReporter গ্রহণ করার জন্য আপনার ক্লাস সেট-আপ করুন
সরাসরি create() কল করার পরিবর্তে, আপনার ক্লাসগুলি পরিবর্তন করুন যাতে
KeyedAppStatesReporter-কে প্যারামিটার হিসেবে গ্রহণ করা যায়, যেমন নিচে BatteryManager
ক্লাসের উদাহরণে দেখানো হয়েছে:
Kotlin
class BatteryManager(val reporter:KeyedAppStatesReporter) { fun lowBattery(battery:Int) { reporter.setStatesImmediate( hashSetOf(KeyedAppState.builder() .setKey("battery") .setSeverity(KeyedAppState.SEVERITY_INFO) .setMessage("Battery is low") .setData(battery.toString()) .build())) } }
জাভা
public class BatteryManager { private final KeyedAppStatesReporter reporter; public BatteryManager(KeyedAppStatesReporter reporter) { this.reporter = reporter; } public void lowBattery(int battery) { final Collectionstates = new HashSet<>(); states.add(KeyedAppState.builder() .setKey("battery") .setSeverity(KeyedAppState.SEVERITY_INFO) .setMessage("Battery is low") .setData(Integer.toString(battery)) .build(); reporter.setStatesImmediate(states); } }
এরপর, KeyedAppStatesReporter.create ব্যবহার করে একটি ইনস্ট্যান্স পান যা
BatteryManager যেখানেই তৈরি হোক না কেন সেখানে পাস করা যাবে।
ধাপ ২: আপনার build.gradle ফাইলে এন্টারপ্রাইজ ফিডব্যাক টেস্টিং লাইব্রেরি যোগ করুন
আপনার অ্যাপের
build.gradle ফাইলে নিম্নলিখিত ডিপেন্ডেন্সি যোগ করুন:
dependencies {
testImplementation 'androidx.enterprise:enterprise-feedback-testing:1.0.0'
}
ধাপ ৩: একটি FakeKeyedAppStatesReporter তৈরি করুন এবং আপনার ক্লাসে এটি পাস করুন
Kotlin
val reporter = FakeKeyedAppStatesReporter(); val batteryManager = BatteryManager(reporter);
জাভা
FakeKeyedAppStatesReporter reporter = new FakeKeyedAppStatesReporter(); BatteryManager batteryManager = new BatteryManager(reporter);
ধাপ ৪: FakeKeyedAppStatesReporter-এর সাথে ইন্টার্যাকশন অ্যাসার্ট করুন
যেমন, কোনও রাজ্য সেট করা হয়নি তা চেক করতে:
Kotlin
assertThat(reporter.keyedAppStates).isEmpty();
জাভা
assertThat(reporter.getKeyedAppStates()).isEmpty();
অথবা কোনও নির্দিষ্ট স্ট্যাটাস আপলোড করার জন্য অনুরোধ করা হয়েছে:
Kotlin
assertThat(reporter.uploadedKeyedAppStatesByKey["battery"]).isNotNull()
জাভা
assertThat(reporter.getUploadedKeyedAppStatesByKey().get("battery")).isNotNull();
Test DPC-তে টেস্ট ফিডব্যাক পাঠান
Test DPC নামে একটি স্যাম্পেল ডিভাইস নীতি কন্ট্রোলার, অ্যাপের ফিডব্যাক গ্রহণ করতে পারে এবং এটি ডাউনলোডের জন্য উপলভ্য।
ধাপ ১: Test DPC ইনস্টল করুন
Play Store থেকে Test DPC-এর লেটেস্ট ভার্সন ইনস্টল করুন। এরপর, ডিভাইসের অ্যাডমিন হিসেবে Test DPC সেট করুন:
adb shell dpm set-device-owner com.afwsamples.testdpc/.DeviceAdminReceiver
ধাপ ২: অ্যাপের মতামত সংক্রান্ত বিজ্ঞপ্তি চালু করা
Test DPC-এর মেনুতে, অ্যাপ সংক্রান্ত মতামত সম্পর্কিত বিজ্ঞপ্তি চালু করুন।
এমন একটি ইভেন্ট ট্রিগার করুন যা একটি কীড অ্যাপ স্টেট সেট করে। সফল হলে, Test DPC বিজ্ঞপ্তিতে মতামত দেখাবে: