Prueba JUnit con KOTLIN android studio

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 buscando entrar en testings unitarias usando JUnits con KOTLIN. ¿Cómo debo hacer esto? He estado buscando y no tengo idea.

Calculadora Códigos Java:

package com.example.zhiwen.calculator; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.TextView; import android.widget.Toast; public class MainActivity extends AppCompatActivity{ Button plus,minus,times,divide; TextView textview3; EditText first, second; double no1 = 0, no2 = 0; double answer = 0; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); plus = (Button) findViewById(R.id.plus); minus = (Button) findViewById(R.id.minus); times = (Button) findViewById(R.id.times); divide = (Button) findViewById(R.id.divide); textview3 = (TextView) findViewById(R.id.textview3); first = (EditText) findViewById(R.id.editText); second = (EditText) findViewById(R.id.editText2); } public void ClickMeButton(View view){ if(first.getText().toString().isEmpty() || second.getText().toString().isEmpty()) { textview3.setText("Answer: -"); Toast.makeText(getApplicationContext(),"Please fill up both numbers",Toast.LENGTH_SHORT).show(); } else { no1 = Integer.parseInt(first.getText().toString()); no2 = Integer.parseInt(second.getText().toString()); textview3.setText("Answer: " + Functions.addFunction(no1,no2)); } } public void ClickMeButton2(View view){ if(first.getText().toString().isEmpty() || second.getText().toString().isEmpty()) { textview3.setText("Answer: -"); Toast.makeText(getApplicationContext(),"Please fill up both numbers",Toast.LENGTH_SHORT).show(); } else { no1 = Integer.parseInt(first.getText().toString()); no2 = Integer.parseInt(second.getText().toString()); textview3.setText("Answer: " + Functions.minusFunction(no1,no2)); } } public void ClickMeButton3(View view){ if(first.getText().toString().isEmpty() || second.getText().toString().isEmpty()) { textview3.setText("Answer: -"); Toast.makeText(getApplicationContext(),"Please fill up both numbers",Toast.LENGTH_SHORT).show(); } else { no1 = Integer.parseInt(first.getText().toString()); no2 = Integer.parseInt(second.getText().toString()); textview3.setText("Answer: " + Functions.multiFunction(no1,no2)); } } public void ClickMeButton4(View view){ if(first.getText().toString().isEmpty() || second.getText().toString().isEmpty()) { textview3.setText("Answer: -"); Toast.makeText(getApplicationContext(),"Please fill up both numbers",Toast.LENGTH_SHORT).show(); } else { no1 = Integer.parseInt(first.getText().toString()); no2 = Integer.parseInt(second.getText().toString()); textview3.setText("Answer: " + Functions.divFunction(no1,no2)); } } 

}

Códigos de class de function:

 package com.example.zhiwen.calculator; /** * Created by Zhiwen on 5/25/2017. */ public class Functions { public static double addFunction(double no1, double no2){ double answer; answer = no1 + no2; return answer; } public static double minusFunction(double no1, double no2){ double answer; answer = no1 - no2; return answer; } public static double multiFunction(double no1, double no2){ double answer; answer = no1 * no2; return answer; } public static double divFunction(double no1, double no2){ double answer; answer = no1 / no2; return answer; } 

}

No puede usar la testing unitaria para dicho código. Tienes dos opciones:

  1. Extraiga la lógica de negocio de la calculadora a una class que no esté relacionada con el marco de Android y pruebe esta class con testings unitarias
  2. Use testings de Instrumentación y Expreso para probar la IU

La primera opción es mucho más preferible (las testings unitarias son más rápidas y tendrás una architecture mucho mejor).

En este caso, probar con Java o Kotlin no tiene ninguna diferencia, debe usar exactamente los mismos enfoques y técnicas, como Java.

Lo primero que debes hacer es consultar la capacitación oficial en el website para desarrolladores de Android: https://developer.android.com/training/testing/index.html

  • Las dependencies de Bintray no se downloadán en InteliJ
  • Kotlin Regex llamado grupos de apoyo
  • Cómo livedata envía los datos a la actividad si hay algún cambio
  • La ruta funcional Spring Web Flux (reactiva) no funciona como se esperaba con Kotlin
  • Cómo iniciar la propiedad de matriz de la anotación en Kotlin
  • Cómo deshabilitar Fabric cuando se ejecuta la testing
  • Evite otra pausa de la aplicación de audio en YouTubePlayerFragment init
  • Error de Kotlin Fuel REST Client Proxy
  • Argumentos no utilizados al destruir un object en Kotlin
  • Ejecute testings de Kotlin Koans desde Android Studio
  • Se produce una exception durante Evaluar acción de expresión: