método de la unidad de pruebas de Boole sobre la base de otros métodos devuelven tipos

bata:

Nuevo en la unidad de pruebas y estoy buscando una manera de probar la unidad un método booleano que es validado por otros dos métodos resultados.

 protected boolean isUpdateNeeded(){ 
 return (method1() && method2()); 
}

los otros métodos de este aspecto para este ejemplo.

protected boolean method1() { 
 return false; 
}

protected boolean method2() { 
 return true; 
} 

Sin embargo, estos dos métodos se / puede ser anulado si es necesario. Idk si lo que realmente importa en este momento

Así que mi idea detrás de la prueba es la siguiente. Encontrar una manera de pasar verdadero / falso a metodo1 o metodo2 para cumplir con los posibles resultados requeridos.

@Test
 public void testCheckToSeeIfUpdateIsNeeded(){ 
   assertTrue('how to check here'); 
   asserFalse('how to check here');
   assertIsNull('was null passed?');  

 }
Munk:

Si otra clase extiende esto y anulaciones metodo1 y metodo2, es la responsabilidad de la persona en desarrollo de esa clase para poner a prueba el cambio.

Se podía burlarse metodo1 y metodo2, pero luego está el acoplamiento de la estructura de su clase con los casos de prueba, por lo que es más difícil hacer un cambio posterior.

Su responsabilidad aquí para probar el comportamiento de la clase. Veo el método en cuestión se llama isUpdateNeeded. Por lo tanto la prueba de dejar que eso. Voy a llenar la clase como lo imagino.

class Updater {
    Updater(String shouldUpdate, String reallyShouldUpdate) {...}
    boolean method1() { return shouldUpdate.equals("yes"); }
    boolean method2() { return reallyShouldUpdate.equals("yes!"); }
    boolean isUpdateNeeded() { ...}
}

class UpdaterTest {
    @Test
    void testUpdateIsNeededIfShouldUpdateAndReallyShouldUpdate() {
        String shouldUpdate = "yes";
        String reallyShouldUpdate = "yes!"
        assertTrue(new Updater(shouldUpdate, reallyShouldUpdate).isUpdateNeeded());
    }
    .... more test cases .....
}

Observe cómo esta prueba afirma el comportamiento de la actualización da los insumos, no es de relación con la existencia de algunos otros métodos.

Si desea que la prueba para demostrar lo que sucede si reemplaza los métodos, subclase de actualización en la prueba y realizar el cambio apropiado.

Supongo que te gusta

Origin http://43.154.161.224:23101/article/api/json?id=332189&siteId=1
Recomendado
Clasificación