मैं एक सतत परीक्षण वातावरण से शुरू करना चाहता हूं इसलिए मुझे अपनी प्राथमिकताओं को रीसेट/साफ़ करने की आवश्यकता है। मेरे पास अब तक परीक्षण के लिए सेटअप है। यह किसी भी त्रुटि की रिपोर्ट नहीं कर रहा है, और मेरे परीक्षण पास हो जाते हैं, लेकिन वरीयताओं को मंजूरी नहीं दी जा रही है।एंड्रॉइड: यूनिट परीक्षण के दौरान मैं एप्लिकेशन वरीयताओं को रीसेट/साफ़ कैसे करूं?
मैं "मेनमेनू" गतिविधि का परीक्षण कर रहा हूं, लेकिन मैं अस्थायी रूप से ऑप्शनस्क्रीन गतिविधि (जो एंड्रॉइड की वरीयता एक्टिविटी क्लास को बढ़ाता है) पर स्विच करता है। मुझे लगता है कि परीक्षण के दौरान परीक्षण स्क्रीन विकल्प को सही तरीके से खोलता है।
public class MyTest extends ActivityInstrumentationTestCase2<MainMenu> {
...
@Override
protected void setUp() throws Exception {
super.setUp();
Instrumentation instrumentation = getInstrumentation();
Instrumentation.ActivityMonitor monitor = instrumentation.addMonitor(OptionScreen.class.getName(), null, false);
StartNewActivity(); // See next paragraph for what this does, probably mostly irrelevant.
activity = getActivity();
SharedPreferences settings = PreferenceManager.getDefaultSharedPreferences(activity);
settings.edit().clear();
settings.edit().commit(); // I am pretty sure this is not necessary but not harmful either.
StartNewActivity कोड:
Intent intent = new Intent(Intent.ACTION_MAIN);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.setClassName(instrumentation.getTargetContext(),
OptionScreen.class.getName());
instrumentation.startActivitySync(intent);
Activity currentActivity = getInstrumentation()
.waitForMonitorWithTimeout(monitor, 5);
assertTrue(currentActivity != null);
धन्यवाद!
धन्यवाद इतना। वाह, मुझे वास्तव में दस्तावेज़ीकरण को और अधिक अच्छी तरह से पढ़ना चाहिए। मुझे एहसास नहीं हुआ कि मैं एक संपादक वस्तु का निर्माण कर रहा था; मुझे उम्मीद थी कि मैं वरीयताओं पर सीधे काम कर रहा था। –
इसके अलावा यह सेटिंग्स .edit()। Clear()। प्रतिबद्ध(); – Federico