JUnit y campos de cheques para nula

Gabesz07:

Cuando pruebo los contras por defecto. en una clase como esta:

public class Man {
    public Man(){}

@Test
public void defConstructorTest() {
    Man m = new Man();
    assertEquals(0, m.getName());
    assertEquals(0, m.getBorn());

viene el mensaje:

test failed expected: 0 but was: null

Cuando se cambia el código como el siguiente:

@Test
public void defConstructorTest() {
    Man m = new Man();
    assertEquals(null, m.getName());
    assertEquals(null, m.getBorn());

Fallo en la prueba de nuevo con se muestra este mensaje:

expected: null but was: 0

¿Puede alguien explicar por qué estoy recibiendo este error? (Compuestos absorbentes están funcionando bien)

Mureinik:

No ha compartido lo suficiente código de Mandar una respuesta definitiva, pero a partir de los mensajes de error (y algo de sentido común) que supongo que getName()devuelve una Stringy getBorn()devuelve una intcon año el hombre nació el. Asumiendo que estos captadores son solo simples que los miembros de datos de retorno, el valor predeterminado para una String(o cualquier otro objeto, para el caso) es nullmenos que sea explícitamente inicializado, y el valor predeterminado para una primitiva intes 0.

Para hacer una larga historia corta, es necesario esperar que el valor predeterminado el uno para el comprador:

@Test
public void defConstructorTest() {
    Man m = new Man();
    assertNull(m.getName());
    assertEquals(0, m.getBorn());
}

Supongo que te gusta

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