Android BluetoothAdapter Mocking

Estoy tratando de simular la aplicación de prueba de Bluetooth, pero mi primer paso de crear un objeto de burla de la clase BluetoothAdapter no está funcionando!

Estoy usando powermockito con burla fácil.

mBluetoothAdapter = (BluetoothAdapter)PowerMock.createMock(BluetoothAdapter.class); 

Esto falla. Con el siguiente seguimiento de pila

 java.lang.IllegalArgumentException: No visible constructors in class android.bluetooth.BluetoothAdapter at org.easymock.internal.DefaultClassInstantiator.getConstructorToUse(DefaultClassInstantiator.java:94) at org.easymock.internal.AndroidClassProxyFactory.createProxy(AndroidClassProxyFactory.java:48) at org.easymock.internal.MocksControl.createMock(MocksControl.java:114) at org.easymock.internal.MocksControl.createMock(MocksControl.java:88) at org.easymock.internal.MocksControl.createMock(MocksControl.java:79) at org.powermock.api.easymock.PowerMock.doCreateMock(PowerMock.java:2212) at org.powermock.api.easymock.PowerMock.doMock(PowerMock.java:2163) at org.powermock.api.easymock.PowerMock.createMock(PowerMock.java:89) at com.xxx.blesimplesample.test.MainActivityTest.setUp(MainActivityTest.java:59) at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:191) at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:176) at android.test.InstrumentationTestRunner.onStart(InstrumentationTestRunner.java:554) at android.app.Instrumentation$InstrumentationThread.run(Instrumentation.java:1710) 

¿Alguien ha utilizado cualquier marco de burla para la aplicación de Bluetooth burla? Cualquier sugerencia será útil

BluetoothAdapter en el marco de Android se declara final , por lo que en el momento en que hizo esta pregunta, no se podía burlarse, ni con Mockito ni con Robolectric.

Sin embargo, las pruebas de unidades Android han cambiado mucho desde entonces. Con las versiones recientes de las herramientas, cuando se construyen las pruebas unitarias, las herramientas generan un android.jar patched con todas las s final eliminadas. Esto hace que todas las clases de Android estén disponibles para burlarse. Hoy en día, si desea simular cualquier código Bluetooth, puede hacerlo de la manera estándar. El código que ya has probado "funcionará" si actualizas las últimas herramientas. Alternativamente, Robolectric tiene una clase ShadowBluetoothAdapter incorporada ahora.

  • Android prueba testPreconditions
  • Android Base64 codificar y decodificar return null en Unit Test
  • Cómo burlar un objeto de etiqueta NFC de Android para las pruebas de unidad
  • ¿Diferencia entre la prueba de instrumentación de Android y la prueba de unidad en Android Studio?
  • Método getActivity () que bloquea indefinidamente mientras que la prueba de la unidad
  • Unity C # scrollable GUI.BOX no funciona en android
  • Cómo probar el archivo java generado automáticamente usando JUnit para mi AIDL
  • Android Espresso Testing: ActivityTestRule no cierra la actividad
  • Cómo realizar una prueba de unidad
  • Junit.framework.AssertionFailedError: Excepción en constructor: (java.lang.NoClassDefFoundError)
  • Vinculación de Android y prueba JUnit de notificación
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.