ActivityUnitTestCase getActionBar () devuelve null
Mi FragmentActivity
llama a getActionBar()
en onCreate()
:
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_new_expense); getActionBar().setDisplayHomeAsUpEnabled(true); }
Esto funciona bien al ejecutar la aplicación normalmente en el emulador o en un dispositivo. Sin embargo, cuando getActionBar()
la actividad con un ActivityUnitTestCase
, getActionBar()
devuelve siempre null.
- ¿Cómo compartir recursos entre la prueba de unidad y la prueba de instrumentación en android?
- Java.lang.UnsatisfiedLinkError: dbopen
- Android InstrumentationTestCase getFilesDir () devuelve null
- Prueba de la unidad MVP de Android: ¿debo burlar el bus de eventos?
- No se puede burlar la clase final de Kotlin usando Mockito 2
public class NewTransactionTest extends ActivityUnitTestCase<TransactionEditActivity> { private RenamingDelegatingContext myContext; private DatabaseHelper myHelper; private RuntimeExceptionDao<Account,Long> myDao; private Account myBankAccount1; private Account myBankAccount2; private Account myCategory1; private Account myCategory2; private Budget myBudget; public NewTransactionTest() { super(TransactionEditActivity.class); } @Override protected void setUp() throws Exception { super.setUp(); myContext = new RenamingDelegatingContext(getInstrumentation().getTargetContext(), "test"); myContext.deleteDatabase(DatabaseHelper.DATABASE_NAME); } @UiThreadTest public void testPreConditions() throws Throwable { setActivityContext(myContext); final TransactionEditActivity activity = startActivity(new Intent(), null, null); }
¿Alguien sabe por qué getActionBar()
devuelve nulo para las pruebas de unidad?
- Anotación @UiThreadTest produce "java.lang.Exception: No se pueden ejecutar métodos"
- Android Studio Gradle androidTest vs instrumentTest
- Android Testing: ¿Puedo enviar sms al número de emulador del método de prueba?
- Cómo ejecutar todas las pruebas (unitarias e instrumentadas) con un solo clic en Android Studio
- Pruebas de unidad en Android Studio 0.8
- Valor de Stub de Build.VERSION.SDK_INT en la prueba de unidad local
- Mocking un campo inyectado en las pruebas unitarias
- ¿Cómo burlar los gráficos de objetos de actividad de Dagger?
Es parte del diseño. ¿Ha intentado utilizar ActivityInstrumentationTestCase2 en su lugar? No hay garantía de que funcione, pero hay una mejor oportunidad. El Contexto que está disponible en ActivityInstrumentationTestCase2 admite más funciones.
Real unidad de pruebas en Android es difícil de hacer. Especialmente para las actividades, usted debe permitirse a "trampa" y hacer pruebas funcionales en su lugar.
- Simule un gesto de fling en Android ActivityInstrumentationTestCase2
- ¿Cómo hacer un borde de selección que rastrea el botón de radio marcado?