하나의 자바 클래스에 명령 줄에서의 JUnit과 컴파일 및 실행 테스트

모하마드 간지 :

내가 해결하는 방법을 모르는 간단한 문제가있다!

나는 하나의 자바 파일이 있습니다 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;
    }
}

나는 간단한 테스트 클래스가 UserTest.java이 클래스 옆을 :

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));
    }
}

나는이 테스트 클래스 실행하려는 User클래스를. 내가 IntelliJ에 나 이클립스 같은 IDE를 사용하지 않는, 그래서 내가 원하는 컴파일 리눅스 명령 줄에서 테스트를하지만,이 명령

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

다음과 같은 오류가 날 수 있습니다 :

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

참고 : I에 유래에서 본 모든 프로젝트에서 하나의 파일을 테스트하거나 구축하고 Gradle을과 함께 테스트에 관한 것입니다 ...하지만 난 자바에 대해 잘 모르는 내가 많이 알고, 난 그냥 필요가 필요가 없습니다 만들고 하나의 자바 클래스에 대한 테스트를 실행하는 가장 간단한 방법을 알고 있습니다.

주 2 : 난과의 JUnit을 설치 apt install junit하며 설치 junit-3-8-2버전.

주 3 : 하려고 할 때 나는 문제가 컴파일 내 테스트 클래스를, 난 내가 테스트를 실행할 수있는 단계에 도달하지 않은!

안드레아스 :

코멘트 섹션에서 시행 착오를 꽤 많이 후, 근본 원인은 기존의 JUnit 3.8.2 의존성이었다. 3.X 출시에 4.x를 변경 한 다른 네임 스페이스를 사용 org.junit.

따라서 테스트를 컴파일하는 동안 발견되지 클래스.

함께 항아리 압축과 압축 해제 등의 문제를 디버깅하려면 unzip리눅스가 도움이 될 수 있습니다에 있습니다.

추천

출처http://43.154.161.224:23101/article/api/json?id=213167&siteId=1