Articles of Pruebas de unidad de

Calculadora simple, testing unitaria usando KOTLIN con Spek (código de salida -1)

Soy muy nuevo en desarrollo android y recientemente hice mi primer proyecto. Es solo una calculadora básica con sum, resta, multiplicación y split. Ahora estoy tratando de hacer testings unitarias para probar las funciones de mi calculadora, pero estoy recibiendo esta salida (que se muestra a continuación). No tengo idea de qué está causando esto. […]

Solo la primera testing pasa con TestScheduler cuando se ejecutan varias testings (Kotlin)

Estoy tratando de probar mi presentador en una architecture MVP utilizando RxJava en Kotlin. TestScheduler una regla de testing para sustituir los progtwigdores habituales con un TestScheduler para poder probar las requestes asíncronas: class TestSchedulerRule : TestRule { val testScheduler = TestScheduler() override fun apply(base: Statement, d: Description): Statement { return object : Statement() { […]

Kotlin Unit Test siempre pasa cuando se ejecuta desde la IU de Android Studio

Estoy tratando de implementar algunas testings unitarias con Kotlin en mi aplicación. El problema que ocurre es que cuando ejecuto la testing desde la UI, la testing siempre pasa, haga lo que haga. Si ejecuto la testing desde el terminal, todo sale como se espera, la testing falla cuando se dan los valores incorrectos. ¿Alguien […]

El resultado es el mismo, pero el caso de testing no pasa en la testing unitaria

Solo toqué la testing unitaria, hoy encontré una pregunta muy extraña, utilizo assertThat para determinar si los dos objects son iguales, hay un caso de testing que no puede pasar, cuando pruebo el object: sealed class SummaryViewState : MviViewState { /** * 默认显示曲线图和标签汇总状态(首次进入页面) */ data class SummaryDataViewState( val points: List<Pair<Int, Float>>, // 曲线图点val months: List<Pair<String, […]

¿Proporcionando object burlado a otro constructor de object falso?

Prueba unitaria por primera vez y usando Mockito. No estoy seguro de si estoy pensando en probar esto correctamente. Aquí está la situación: En mi aplicación de Android, estoy usando Model-View-Presenter. Estoy intentando probar un método en mi class de presentador llamado validateCnetworkingential(serviceManager: ServiceManager, email: String, password: String) para ver si el administrador de services […]

Kotlin coroutines usa produce y mockito para burlarse del trabajo de producción

Estoy probando corotines Kotlin en mi aplicación de Android y estoy tratando de hacer la siguiente testing de unidad @Test fun `When getVenues success calls explore venues net controller and forwards result to listener`() = runBlocking { val near = "Barcelona" val result = buildMockVenues() val producerJob = produce<List<VenueModel>>(coroutineContext) { result.value } whenever(venuesRepository.getVenues(eq(near))) doReturn producerJob […]

La testing Running Spek muestra el error "Suite de testing vacía"

Me he familiarizado un poco con Kotlin. Quería presentarle otro proyecto Android-Java, como primer paso para probar solo. Decidí comenzar directamente con Spek . Agregué las siguientes dependencies para build.gradle del module a probar: testCompile 'junit:junit:4.12' testCompile "org.jetbrains.kotlin:kotlin-stdlib:1.0.2" testCompile "org.jetbrains.kotlin:kotlin-test-junit:1.0.2" testCompile "org.jetbrains.spek:spek:1.0.25" Entre otros, utilicé la class SimpleTest de muestras de spek del git repo: […]

¿Cómo no emitir datos de Flowable para testings unitarias?

Entonces, al comenzar, un pequeño context sobre lo que quiero lograr: Tengo una function en la class DataManager llamada getBusRoutesByQuery(query: String) que devuelve Flowable<List<Route>> . Esa búsqueda de function en el almacenamiento local y remoto para las routes de autobús por la consulta dada. Estoy usando zip para combinar dos Flowables y fusionarlos en uno […]

Pruebas unitarias Rxjava observables que tienen un retraso

Quiero poder probar un Observable que tiene una emisión retrasada, pero sin esperar el time de demora. ¿Hay alguna forma de hacer esto? Actualmente estoy usando CountDownHatch para retrasar la afirmación, y eso funciona bien, pero aumenta el time de ejecución de la testing. Ejemplo: val myObservable: PublishSubject<Boolean> = PublishSubject.create<Boolean>() fun myObservable(): Observable<Boolean> = myObservable.delay(3, […]

Corutinas de testing unitaria en el hilo de UI

Estoy usando corutinas para hacer una llamada asincrónica en pull para actualizar así: class DataFragment : Fragment(), SwipeRefreshLayout.OnRefreshListener { // other functions here override fun onRefresh() { loadDataAsync() } private fun loadDataAsync() = async(UI) { swipeRefreshLayout?.isRefreshing = true progressLayout?.showContent() val data = async(CommonPool) { service?.getData() // suspending function }.await() when { data == null -> […]