Fix RemoveAccountPreferenceControllerTest

- prevent the test from hanging due to passing a deep fragment mock

Test: make RunSettingsRoboTests -j40
Change-Id: I60b6f32b19563dbcd25eda9d98a8c0266480a3f9
This commit is contained in:
jeffreyhuang
2017-11-22 13:55:35 -08:00
parent 2575d3fd45
commit f6c64b532f

View File

@@ -40,6 +40,7 @@ import android.os.Handler;
import android.os.UserHandle; import android.os.UserHandle;
import android.os.UserManager; import android.os.UserManager;
import android.support.v14.preference.PreferenceFragment; import android.support.v14.preference.PreferenceFragment;
import android.support.v7.preference.PreferenceManager;
import android.support.v7.preference.PreferenceScreen; import android.support.v7.preference.PreferenceScreen;
import android.widget.Button; import android.widget.Button;
@@ -60,7 +61,7 @@ import org.robolectric.annotation.Config;
import org.robolectric.shadows.ShadowApplication; import org.robolectric.shadows.ShadowApplication;
@RunWith(SettingsRobolectricTestRunner.class) @RunWith(SettingsRobolectricTestRunner.class)
@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION) @Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION_O)
public class RemoveAccountPreferenceControllerTest { public class RemoveAccountPreferenceControllerTest {
private static final String KEY_REMOVE_ACCOUNT = "remove_account"; private static final String KEY_REMOVE_ACCOUNT = "remove_account";
@@ -70,9 +71,11 @@ public class RemoveAccountPreferenceControllerTest {
private AccountManager mAccountManager; private AccountManager mAccountManager;
@Mock @Mock
private DevicePolicyManagerWrapper mDevicePolicyManager; private DevicePolicyManagerWrapper mDevicePolicyManager;
@Mock(answer = RETURNS_DEEP_STUBS) @Mock
private PreferenceFragment mFragment; private PreferenceFragment mFragment;
@Mock @Mock
private PreferenceManager mPreferenceManager;
@Mock
private PreferenceScreen mScreen; private PreferenceScreen mScreen;
@Mock @Mock
private FragmentManager mFragmentManager; private FragmentManager mFragmentManager;
@@ -92,7 +95,8 @@ public class RemoveAccountPreferenceControllerTest {
mContext = spy(shadowContext.getApplicationContext()); mContext = spy(shadowContext.getApplicationContext());
when(mFragment.getPreferenceScreen()).thenReturn(mScreen); when(mFragment.getPreferenceScreen()).thenReturn(mScreen);
when(mFragment.getPreferenceManager().getContext()).thenReturn(mContext); when(mFragment.getPreferenceManager()).thenReturn(mPreferenceManager);
when(mPreferenceManager.getContext()).thenReturn(mContext);
when(mFragment.getFragmentManager()).thenReturn(mFragmentManager); when(mFragment.getFragmentManager()).thenReturn(mFragmentManager);
when(mFragmentManager.beginTransaction()).thenReturn(mFragmentTransaction); when(mFragmentManager.beginTransaction()).thenReturn(mFragmentTransaction);
when(mAccountManager.getAuthenticatorTypesAsUser(anyInt())).thenReturn( when(mAccountManager.getAuthenticatorTypesAsUser(anyInt())).thenReturn(