代码之家  ›  专栏  ›  技术社区  ›  ganjim

在一个Java类的命令行中使用JUnit编译并运行测试

  •  3
  • ganjim  · 技术社区  · 6 年前

    我只有一个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;
        }
    }
    

    我有一个简单的测试班 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 班级。 从linux命令行执行测试,但此命令:

    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
    

    注: 我在Stackoverflow上看到的一切都是关于在一个项目中测试一个文件或者用gradle和…,但是我对Java了解不多,也不需要了解太多,我只需要知道为一个Java类创建和运行测试的最简单方法。

    apt install junit 它已经安装好了 junit-3-8-2 版本。

    注3: 编译 我的测试班,我甚至还没到可以运行测试的阶段!

    1 回复  |  直到 6 年前
        1
  •  2
  •   Andreas    6 年前

    org.junit .

    因此在编译测试时找不到类。

    要调试此类问题,请使用 unzip 在Linux上可能会有所帮助。