重要的单元测试

博客展示了一段Java单元测试代码,该测试未通过,原因是java.util.Date类月份范围是0 - 11,年份需减1900。这体现了单元测试的重要性,若没有单元测试,可能难以发现此类问题。

以下代码

import java.util.Date;

import junit.framework.TestCase;

public class TestTest extends TestCase {

    public static void main(String[] args) {
        junit.swingui.TestRunner.run(PayrollTest.class);
    }

    public TestlTest(String name) {
        super(name);
    }

    public void testDate()

   {

            Date lastDay=new Date(2004,2,30);

            Test t=new Test();

             assertTrue(t.IsLastDayOfMonth(lastDay());

            

     }

}

class  Test{

       final long oneDay = 24 * 60 * 60 * 1000;

    boolean IsLastDayOfMonth(Date date) {

        int m1 = date.getMonth();
        int m2 = (new Date(date.getTime() + oneDay)).getMonth();
        return (m1 != m2);

    }

}

这个单元测试不通过,后来才知道原因,原来java.util.Date类的月份范围是0-11。3月份就是4月份,年份必须减1900。所以单元测试不能通过,从这里也可以看出单元测试有多么重要。如果没有单元测试,知道提交我可能也无法发现这个问题。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值