¿Hay alguien por ahí usando Robolectric sin Maven en IntelliJ?

Todos los ejemplos de uso de Robolectric que puedo encontrar parecen estar basados ​​en Maven. ¿Alguien no está usando Maven? Si es así realmente me gustaría entender su configuración del proyecto IntelliJ.

Después de leer esta publicación

Android-unit-test-approaches

Parece sensato tener un planteamiento escalonado a la unidad testig proyectos androide con una combinación de junit puro, robolectric y pruebas de android de marco de prueba. Si alguien que está haciendo esto con o sin Maven me encantaría entender un poco sobre cómo configuró sus proyectos en IntelliJ.

Supongo que necesitaré varios proyectos / módulos. Cualquier sabiduría en esto recibió con gratitud.

Maven es una gran herramienta para hacer las cosas más convenientes. Si todavía está buscando una manera de instalar Robolectric dentro de intellij WITHOUT Maven, siga lo siguiente:

  1. Descargue Robolectric: https://oss.sonatype.org/index.html#nexus-search;quick~robolectric descargue el archivo jar-with-dependencies.jar más reciente. Descárguelo y póngalo en el directorio libs / del proyecto de su aplicación

  2. Configure su fuente de aplicaciones con la siguiente estructura de archivos (este es un método ampliamente utilizado para configurar sus directorios para la prueba Robolectric)

    ProjectName/ src/ main/ java/ com/ example/ packageName/ javaClassesHere.java test/ java/ com/ example/ packageName/ javaTestClassesHere.java 
  3. En Intellij, vaya a Archivo> Estructura del proyecto. A continuación, en la columna izquierda, seleccione "Módulos".
    En la columna central, seleccione el módulo de la aplicación.
    A continuación, en la columna de la derecha, haga clic en la pestaña "Fuentes".
    Ahora en el explorador de archivos, busque el directorio "src" y amplíelo. A continuación, expanda los directorios "principal" y "prueba" dentro de src. Haga clic en el directorio "java" en "principal" y luego hacia la parte superior, haga clic en el botón "Fuentes" azul. A continuación, para el directorio "java" bajo "prueba", hacia la parte superior haga clic en el botón "Probar fuentes".
    También, haga clic en el directorio principal "src" y seleccione el botón de fuentes azules para que no sea azul.

  4. Ahora, en la ventana de estructura del proyecto, vaya a la columna de la izquierda y haga clic en "Bibliotecas".
    Si ya ves una entrada para robolectric en la columna central, haz clic en ella y luego haz clic en el signo rojo "-" en la parte superior de la columna central.
    Ahora haga clic en el signo "+" verde sobre la columna central y seleccione "Java". Vaya a su tarro robolectric que descargó en el paso 1. (debe estar en su directorio libs / de su proyecto.
    Ahora aparecerá una ventana preguntándole qué módulos desea usar robolectric. Seleccione todos los módulos que van a utilizar robolectric y haga clic en Aceptar. Ahora haga clic en aplicar y aceptar para salir de la estructura del proyecto.

Ahora ya está todo preparado para la prueba con robolectric!

Supongo que la razón por la que la mayoría de las personas que usan Roboeléctrico están utilizando Maven es que la mayoría de las personas que se molestan en usar Roboeléctrico son serias en sus pruebas.

Dado que están motivados a poner una gran cantidad de esfuerzo en las pruebas, es muy probable que deseen ser capaces de incluir sus pruebas en una compilación automatizada, por lo general en un servidor de integración continua (CI), como Jenkins o Hudson.

Cuando desea realizar pruebas automatizadas, necesita una buena compilación de línea de comandos. Gradle es la nueva herramienta de compilación oficial de la línea de comandos para Android, pero siendo una marca nueva, sigue siendo un trabajo en progreso, y aún no ampliamente adoptado. La herramienta probada y verdadera es Maven.

Mucha gente le encanta odiar a Maven, pero consigue el trabajo hecho, y supera a Ant por una milla.

Por lo tanto, no puede ser una mala idea usar Maven (o Gradle) – le dará mucho más bang para su dólar de prueba que sólo ejecuta sus pruebas en su IDE.

Soy un pájaro temprano en el cielo de Robolectric y comencé con no ir la manera de Maven. Mi principal motivación fue probar el marco y por lo tanto nunca dio un segundo pensamiento para el uso de Maven. He documentado mis aprendizajes en:
http://dasherize.blogspot.in/2013/04/robolectric-beginning.html
Y puede encontrar instrucciones de configuración aquí .

Nota: Es con respecto a Robolectric 1.x. Pero no debe variar mucho con el cambio en la versión.

En cuanto a esta respuesta estoy completamente de acuerdo con @GreyBeardedGeek. Usted tiene que establecerse con Maven si desea configurar CI.

  • `RenamingDelegatingContext` está obsoleto. ¿Cómo probamos SQLite db ahora?
  • Prueba de AsyncTaskLoaders con Robolectric
  • Configuración de un directorio de activos personalizados para las pruebas unitarias en Android Studio
  • Pruebas de escritura para aplicaciones Flow and Mortar
  • ¿Por qué obtengo un NoClassDefFoundError al ejecutar mi prueba en ActionBarActivity?
  • Unidad de pruebas de creación de una base de datos SQLite utilizando Spock y Robospock
  • Pruebas de unidades de Android fallan para tipo de compilación de depuración
  • Cómo correctamente mock HttpGet llamada en la prueba de Android
  • Robolectric + OkHttp + retrofit + prueba de unidad rxJava
  • ActivityUnitTestCase arroja RuntimeException cuando se ejecuta con AndroidJUnitRunner
  • Automatización de la caja de prueba de la unidad Android: biblioteca Robolectric vs marco de pruebas de Android
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.