Curso Express de TESTING en Android gratis

curso testing android gratis

Curso Express de TESTING en Android gratis

Aquí tienes un modo muy sencillo de adentrarte en el maravilloso mundo del testing en Android completamente gratis. Con este curso, vas a aprender a hacer tests unitarios usando las bibliotecas MockK y Kluent.

¿Quieres aprender más sobre Android?

Si quieres ir un paso más allá, una opción excelente es hacerte miembro de Los androides Premium. Avanzarás como Android Developer mucho más rápido que si vas por libre.

Código fuente

Para que te sea más cómodo y fácil de seguir este curso express, aquí tienes el código empleado.

Curso Express de TESTING en Android gratis

Dependencias

testImplementation "io.mockk:mockk:1.13.4" testImplementation 'org.amshove.kluent:kluent:1.72'

CalculatorUseCase

class CalculatorUseCase(     private val operation: Operation,     private val isMultiplyAcceptedUseCase: IsMultiplyAcceptedUseCase, ) {      enum class Operation {         ADD,         MULTIPLY     }      operator fun invoke(         firstParameter: Int,         secondParameter: Int,     ): Int {         return if (isMultiplyAcceptedUseCase()) {             when (operation) {                 Operation.ADD -> add(firstParameter, secondParameter)                 Operation.MULTIPLY -> multiply(firstParameter, secondParameter)             }         } else {             add(firstParameter, secondParameter)         }     }      private fun add(         firstParameter: Int,         secondParameter: Int,     ): Int = firstParameter + secondParameter      private fun multiply(         firstParameter: Int,         secondParameter: Int,     ): Int = firstParameter * secondParameter }

IsMultiplyAcceptedUseCase

class IsMultiplyAcceptedUseCase {      operator fun invoke(): Boolean {         val randomValue = Math.random()         return randomValue > 0.5     } }

CalculatorUseCaseTest

class CalculatorUseCaseTest {      private val isMultiplyAcceptedUseCase: IsMultiplyAcceptedUseCase = mockk()      @Before     fun setUp() {         every { isMultiplyAcceptedUseCase() } returns true     }      @Test     fun `GIVEN multiply accepted an add operation WHEN invoke THEN get the expected result`() {         val useCase = CalculatorUseCase(CalculatorUseCase.Operation.ADD, isMultiplyAcceptedUseCase)         val firstParameter = 1         val secondParameter = 2         val result = useCase(firstParameter, secondParameter)          result shouldBe 3     }      @Test     fun `GIVEN multiply not accepted an add operation WHEN invoke THEN get the expected result`() {         every { isMultiplyAcceptedUseCase() } returns false         val operation = CalculatorUseCase.Operation.ADD          val useCase = CalculatorUseCase(operation, isMultiplyAcceptedUseCase)         val firstParameter = 1         val secondParameter = 2         val result = useCase(firstParameter, secondParameter)          result shouldBe 3     }      @Test     fun `GIVEN multiply accepted an a multiply operation WHEN invoke THEN get the expected result`() {         val operation = CalculatorUseCase.Operation.MULTIPLY          val useCase = CalculatorUseCase(operation, isMultiplyAcceptedUseCase)         val firstParameter = 1         val secondParameter = 2         val result = useCase(firstParameter, secondParameter)          result shouldBe 2     }      @Test     fun `GIVEN multiply not accepted an a multiply operation WHEN invoke THEN get the expected result`() {         every { isMultiplyAcceptedUseCase() } returns false         val operation = CalculatorUseCase.Operation.MULTIPLY          val useCase = CalculatorUseCase(operation, isMultiplyAcceptedUseCase)         val firstParameter = 1         val secondParameter = 2         val result = useCase(firstParameter, secondParameter)          result shouldBe 3     } }

Bibliotecas empleadas en este curso de Testing en Android gratis:

Y dale un vistazo a esta entrada, que te cuento mis mayores casos de uso en testing en Android con Kotlin.

Tengo prisa, quiero crecer super rápido como Desarrollador Android

Si en lugar de un curso básico de testing en Android, lo que quieres es avanzar a todo tren, entonces, lo suyo es que hagas un Plan Impulso Android.

Contenido del audio

Transcripción

Muy buenas y bienvenido a este curso Express sobre testing en Android y bueno vamos a empezar desde cero completamente así que sepas más o menos
no te preocupes que vamos a ir desde el principio, vamos a hacer test unitarios y bueno pero vamos a ir poquito a poco así que te recomiendo que cojas y vayas haciendo lo que voy haciendo yo
te vayas pausando el vídeo si quieres pero que vamos, aunque no sepas nada vas a poder seguirlo espero y si ya sabes igual te viene bien para refrescar
vamos a hacer sobre todo ya te digo test unitarios que al final de cuentas es lo más importante que deberías dominar para Android y para lo que sea
vamos al lío, vamos a crear el proyecto New Project, vamos a crear esto por ejemplo mismo vamos a llamarle Android Testing Express Course
y nada vamos al lío, por aquí lo tenemos, mientras se va creando todo, bien estamos por aquí, bueno he abierto un proyecto en Android por si acaso lo que vamos a utilizar para algo
pero yo creo que nos va a valer para, podríamos haber cogido cualquier proyecto sin que hubiéramos que utilizar, bueno va poquito y ya estamos aquí
se nos ha creado el proyecto por defecto pero bueno vamos a, por aquí tienen los típicos, examples tal que son las típicas cosas que cuando están ahí
si vas a tener una prueba técnica cargatelas, merece la pena que no pongas test unitarios a que pongas esto porque esto indica que ya van a ir directamente a verlo y si está esto ya no ha hecho test
pero bueno para que eso no te pase nunca más vamos a hacer nosotros algo, vamos a crear una calculadora por ejemplo, vamos a hacer un use case
y aquí tenemos una clase calculator, no vamos a meter ni acción de piadas ni nada por simplicidad, entonces pero bueno este use case tendría un método público
que sería el invoke y esto tendrá algo, vamos a ver aquí si hacemos command shift o control de tanto Linux como en Windows, tenemos, nos crea nuestro use case test
vamos a utilizar junit4, se podría utilizar junit5 pero vamos a dejarlo en 4 que de momento sigue siendo más estándar aunque cada vez se puede utilizar más junit5
vale y estas cositas que tenemos por aquí, vale, vale, vale, muy bien y aquí que tenemos que hacer, bueno pues ahora mismo vamos a, estamos haciendo un calculator pues le podemos pasar por ejemplo
un fest parameter y un second parameter por ejemplo, fest parameter y que sea, que sea pues otro entero, pues otro int, venga va
y vamos a poner un retorn 0 para simplificar y que nos devuelva algo, acabo de formatear esto, a ver si tengo que ver esto, super rápido, vale, vamos a ver, pues ahora vamos a crear un test, perdón
aquí lo tengo con una live template, si cualquier cosa no sabes como la estoy haciendo o como tal, entrar en gavimoreno.soy-comunidad, que ahí tendrás o a la comunidad de los androides y por ahí puedes preguntar
y seguramente salga alguien, si no salgo yo primero seguramente salga alguien a contestar, a dar resolución a lo que preguntes, pero bueno, voy a tratar de ir a lo que nos
nos acontece.

Publicado: 2023-02-23 Actualizado: 2024-07-05