Compilar y ejecutar pruebas con JUnit en línea de comandos en una sola clase Java

Mohammad Ganji:

Tengo un problema sencillo que no sé cómo resolver!

Tengo un solo archivo de Java User.java:

import java.util.Vector;

public class User {
    private String name;
    private Vector<User> friends;

    public User(String name) {
        this.name = name;
        this.friends = new Vector<>();
    }

    public void addFriend(User newfriend) {
        friends.add(newfriend);
    }

    public boolean isFriendsWith(User friend) {
        return friends.indexOf(friend) != -1;
    }
}

y tengo una clase simple prueba UserTest.javaal lado de esta clase:

import static org.junit.Assert.assertEquals;
import org.junit.Test;


public class UserTest {
    @Test
    public void evaluatesExpression() {
        User user = new User("foo");
        User user2 = new User("bar");
        user.addFriend(user2);
        assertEquals(true, user.isFriendsWith(user2));
    }
}

Quiero correr esta clase de prueba para la Userclase. No estoy usando entornos de desarrollo como Eclipse o IntelliJ, así que quiero recopilar la prueba desde la línea de comandos de Linux, pero este comando:

javac -cp .:"/usr/share/java/junit.jar" UserTest.java

me da los siguientes errores:

UserTest.java:1: error: package org.junit does not exist
import static org.junit.Assert.assertEquals;
                       ^
UserTest.java:1: error: static import only from classes and interfaces
import static org.junit.Assert.assertEquals;
^
UserTest.java:2: error: package org.junit does not exist
import org.junit.Test;
                ^
UserTest.java:6: error: cannot find symbol
    @Test
     ^
  symbol:   class Test
  location: class UserTest
UserTest.java:11: error: cannot find symbol
       assertEquals(true, user.isFriendsWith(user2));
        ^
  symbol:   method assertEquals(boolean,boolean)
  location: class UserTest
5 errors

Nota: todo lo que he visto en Stackoverflow se trata de probar un único archivo en un proyecto o construyendo y probando con Gradle y ..., pero no sé mucho acerca de Java y no necesito saber mucho, acabo de necesidad a saber la forma más sencilla de crear y ejecutar una prueba para una sola clase Java.

Nota 2: He instalado con JUnit apt install junity se instala junit-3-8-2la versión.

Nota 3: Tengo problemas al intentar compilar mi clase de prueba, ni siquiera he llegado a la etapa en la que se puede ejecutar las pruebas!

Andreas:

Después de un buen montón de ensayo y error en la sección de comentarios, la causa era un viejo JUnit 3.8.2 dependencia. Los comunicados de 3.x utilizan un espacio de nombres diferente que fue cambiado en 4.xa org.junit.

Por lo tanto las clases en las que no se encuentran durante la compilación de la prueba.

Para depurar este tipo de problemas de descomprimir el frasco con unzipel Linux puede ser útil.

Supongo que te gusta

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