用于在 Eclipse(在 Java)中测试构造函数和方法的 GUI 类似于 BlueJ?

GUI for testing constructors and methods in Eclipse (in Java) similar to BlueJ?

我是 Java 编程新手,正在通过使用 BlueJ IDE 的 EdX 学习课程。我试图复制我在 Eclipse 中所做的一切,因为我知道它是专业程序员常用的 IDE。我对我在 BlueJ 中使用的一些功能有疑问,但我还没有在 Eclipse 中弄明白。

有没有办法像在 BlueJ 中那样在 Eclipse 中创建对象的测试实例?

屏幕截图 1 显示了可用于此 class 的两个构造函数。我选择了突出显示的那个。

截图2为实例命名对话

屏幕截图 3 是对话菜单,其中包含可用于该对象的各种方法。

那么在 Eclipse 中有没有办法做到这一点?看了一些JUnit,打算学习使用,但是想知道在Eclipse中是否有类似简单的BlueJ测试的功能。

这是汽车的代码 class:

import comp102x.IO; //External library available in many of the later demo programs from https://courses.edx.org/courses/course-v1:HKUSTx+COMP102.1x+2T2015/f792f3a2057040aa959e606d687e9bc4/

/**
* A class of Car objects that can move forward, backward and turn
*/
public class Car
{
        private int odometer = 0;           // An odometer reading initialized to 0
        private String owner = "NoName";    // Name of owner

    /**
     *   Default constructor for a Car object
     */
    public Car () {}  

    /**
     *   Constructor for a Car object with a new owner’s name
     *   @param   name                   name of owner
     */
    public Car(String name) {   // Constructor takes a name as argument
        owner = name;
    }

    /**
    *   moveCar moves a car forward or backward by dist units
    *   @param   dist     Moving distance
    */
    public void moveCar(int dist) { 
        odometer = odometer + Math.abs(dist);
        IO.outputln(owner + "'s car has moved " + dist + " units."); 
    }

    /**
    *   turnCar turns a car by a given degree
    *   @param   angle     Turn angle in degrees
    */
    public void turnCar(double angle) { 
        IO.outputln(owner + "'s car has turned " + angle + " degrees."); 
    }

    /**
    *   getOdometer gets the odometer reading of a car
    *   @return     The value of odometer
    */
    public int getOdometer() {
        return odometer;
    }

}

根据我使用 BlueJ 的经验,我可以告诉您它对于初学者来说非常简单。最终用户可以方便地进行快速实例化和快速测试等操作。

但是,在像 Eclipse、NetBeans 或 IntelliJ 这样的 IDE 中,您无法(以图形方式)获得这种便利。这些 IDE 使开发企业级代码变得更加容易,因此,图形界面的作用大于帮助。

根据您 "test" 的背景,您有多种选择。

  • 如果您只想实例化一个实例并使用它,请使用 main 方法创建一个新的 class。从那里,手动实例化 Car 的实例:

    public static void main(String[] args) {
        Car car = new Car();
        Car altCar = new Car("The Ride");
        // code that calls methods on each instance to follow
    }
    
  • 如果你想真正做单元测试,那么JUnit是一个不错的选择。您必须将 JUnit 放在 class 路径 (documentation for Eclipse exists) 的某个位置。

    public class CarTest {
    
        @Test
        public void testCar() {
            Car car = new Car();
            // put state into the car
            // assert expectations
        }
    }