您好,我是該網站的新手,並且在使用JUnit測試的應用程序中遇到問題。我的問題是,當我試圖比較Date方法和它自己總是失敗。我在測試中打印Date對象以查看問題,並始終以包名和隨機字母結束。下面是日期構造函數:將日期與JUnit測試進行比較
public class Date
{
SimpleDateFormat dformat = new SimpleDateFormat("dd-MM-yyyy");
private int day;
private int month;
private int year;
public Date()
{
String today;
Calendar present = Calendar.getInstance();
day = present.get(Calendar.DAY_OF_MONTH);
month = present.get(Calendar.MONTH);
year = present.get(Calendar.YEAR);
present.setLenient(false);
present.set(year, month - 1, day, 0, 0);
today = dformat.format(present.getTime());
System.out.println(today);
}
這裏是我的測試:
@Test
public void currentDay()
{
Date current = new Date();
System.out.println(current);
assertEquals("today:", current, new Date());
}
然而結果總是失敗,我得到的東西線:
[email protected]
任何幫助將是讚賞。
第一個建議:不要給你自己的類使用與'java.util'中相同的名字。 –
下一個建議:如果你要斷言兩個不同的對象是相等的,你需要重寫'equals'(和'hashCode',爲了理智)。 –
下一個建議:如果你想要一個體面的字符串表示,重寫'toString'。 –