java - 使用一个类来测试另一个类?

标签 java

对于下面给定的类,我被要求使用新的 TimeTest 来测试该类。具有方法的类 doTest()在我的 Time 中尝试这些方法类(class)。我之前通过 main 测试过类(class)方法,但我不知道如何使用类来测试类。有人可以帮助我开始吗?

public class Time {

    private int minute;
    private int hour;
    private int totalMinute;

    public Time() {
        minute = 0;
        hour = 0;
    }

    public Time(int hours, int minutes) {
        setHour(hours);
        setMinute(minutes);
    }

    private void setHour(int hours) {
        if (hours < 24 && hours >= 0) {
            hour = hours;
        } else {
            hour = 0;
        }
    }

    private void setMinute(int minutes) {
        if (minutes < 60 && minutes >= 0) {
            minute = minutes;
        } else {
            minute = 0;
        }
    }

    public void setTime(int hours, int minutes) {
        setHour(hours);
        setMinute(minutes);
    }

    public int getElapsedTime(Time that) {
        int thisTime = this.getTotalMinutes();
        int thatTime = that.getTotalMinutes();
        if (thisTime > thatTime) {
            return thisTime - thatTime;
        }
        return thatTime - thisTime;
    }

    private int getTotalMinutes() {
        totalMinute = (hour * 60) + minute;

        return totalMinute;
    }

    public String getAsString() {
        if (hour < 10 && minute < 10) {
            return "0" + hour + ":0" + minute;
        } else if (hour < 10 && minute >= 10) {
            return "0" + hour + ":" + minute;
        } else if (hour >= 10 && minute < 10) {
            return hour + ":0" + minute;
        } else {
            return hour + ":" + minute;
        }
    }
}

最佳答案

这里是可能满足您要求的类(class)。如果您不想在此类中使用 main 方法,请在另一个类中编写 main 方法,并创建 TimeTest 对象并从具有 main 方法的类中调用 doTest(time) 方法。

public class TimeTest {

public static void main(String[] args) {
    Time time = new Time();
    time.setTime(10, 10);
    doTest(time);

}

private static void doTest(Time time) {
    //set the time to 10 hours and 10 minutes
    System.out.println("Get as String: " + time.getAsString());
    // set the new time to test the getElapsedTime(time) method
    Time newTime = new Time(11, 30);
    System.out.println("Get Elapsed Time: " + time.getElapsedTime(newTime) + " minutes");
}

}

谢谢

关于java - 使用一个类来测试另一个类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13577368/

相关文章:

java - Eclipse 和 JAR hell

java - 在链表类中实现 Iterator 接口(interface)

java - 如何从对象 B 调用对象 A 的方法,对象 B 本身就是 A 对象的属性?

java - JPA映射导致创建表错误

java - 如何在 Scala 中将案例类转换为 Json-LD?

java - 如何将模拟注入(inject)到需要构造函数参数的 bean 中

java - 当光标放在窗口上时弹出窗口

java - 如何利用 Spring 3 的 SSO 安全性?

java - 文件名格式匹配器

java 键监听器不适用于多个面板