Unidad de Pruebas - cómo calcular correctamente el valor esperado para la afirmación

Abdul Fatah:

Soy nuevo en la unidad de pruebas y me preguntaba qué pasaría si un método llama internamente sus propios métodos públicos para calcular el valor de retorno como la siguiente:

public Integer getTotalBeforeSubscriptionDiscount() {
  return getTotal() + getSubscriptionSavings()
}

Estoy escribiendo unidad de prueba para él y mi pregunta es: valores enteros uso específico debe I para hacer coincidir el resultado el resultado con las expectativas por ejemplo,

Integer expected = 10;
Integer actual = obj.getTotalBeforeSubscription();
assertEquals(expected, actual);

O es que permitió llamar a métodos públicos y valor esperado calcular en tiempo de ejecución como la siguiente:

Integer expected = obj.getTotal() + obj.getSubscriptionSavings();
assertEquals(expected, obj.getTotalBeforeSubscription());
thiru:

Las pruebas unitarias son considerados como documentación para el código que se está probando. Habiendo dicho esto, en la mirada de su prueba, se debe demostrar lo que el código está destinado.

En su caso, getTotalBeforeSubscriptionDiscountel método, resume totaly subscriptionSavings. Así, en su prueba, es mejor hablar de forma explícita que.

El código debe ser algo como esto:

@Test
public void shouldReturnSumOfTotalAndSubscriptionSavings() {
    Class obj = new ClassA();
    obj.setTotal(10);
    obj.setSubcriptionSavings(12);

    Integer actual = obj.getTotalBeforeSubscription();

    assertThat(actual, is(22));
}

Supongo que te gusta

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