基于jsp的bbs论坛-(5)java中对test的实现

来源:互联网 发布:天津建经软件 编辑:程序博客网 时间:2024/04/23 23:05

JUnit是由 Erich Gamma 和 Kent Beck 编写的一个回归测试框架(regression testing framework)。Junit测试是程序员测试,即所谓白盒测试,因为程序员知道被测试的软件如何(How)完成功能和完成什么样(What)的功能。Junit是一套框架,继承TestCase类,就可以用Junit进行自动测试了

首先需在Java Resources下的Libraries中导入JUnit 4包,

使用JUnit对在前面Dao中定义的所有功能方法进行单元测试,确保所有功能的准确实现,使用单元测试则只测试一部分,不必一次使用所有代码

为每个方法新建一个函数,例如测试Dao中所定义的ReturnAccountByaccount_account()方法,则新建一个
public void TestReturnAccountByaccount_account()
以及在其前加上@Test表示进行JUnit测试,构成如下形式:

@Testpublic void TestReturnAccountByaccount_account()//测试根据用户数字账号返回用户    {           Account abc = new Account();        abc.setAccount_account(20);  //输入账号的数字账号,则可返回该数字账号数据匹配的对象以及可现实其他信息        abc=accountDao.returnAccountByaccount_account(abc);        System.out.println("用户数字账号:"+abc.getAccount_account()+"  用户个性名称:"+abc.getAccount_name()+"  用户密码:"+abc.getAccount_pass());        Assert.assertEquals(abc.getAccount_name()==null,0);    }

@Test开头,用Assert.assertEquals(abc.getAccount_name()==null,0);进行断言判断,点击到函数名右键选择Run As下的Junit Test进行单元测试,而不是选择Run On Server,断言成功则会显示绿色,失败则是红色

分别在com.itqinxun.test包下新建3个java文件用于分别测试3个Dao

例:在包下新建TestMessageDao.java完成对MessageDao相关功能的单元测试

package com.itqinxun.test;import java.util.List;import org.junit.Test;import org.junit.Assert;import com.itqinxun.dao.impl.MessageDaoImpl;import com.itqinxun.dao.MessageDao;import com.itqinxun.model.Message;public class TestMessageDao {    MessageDao messageDao=new MessageDaoImpl();    @Test    public void TestAddMessage()            //测试新增主题帖    {        Message abc=new Message();        abc.setMessage_account(11);        abc.setMessage_title("五六七  ");        abc.setMessage_content("zuo xie shen me hao");        boolean result=messageDao.addMessage(abc);        Assert.assertEquals(true, result);    }    @Test    public void TestreturnMessageBymessage_id()         //测试删除主题帖    {        Message abc=new Message();        abc.setMessage_id(160);        System.out.println("id"+abc.getMessage_id());        Message message=new Message();        message=messageDao.returnMessageBymessage_id(abc);        System.out.println("qqq发帖人数字账号:"+message.getMessage_account()+"  主题帖数字ID: "+message.getMessage_id()+"  主题帖标题:"+message.getMessage_title()+"  主题帖内容:"+message.getMessage_content()+"  日期"+message.getMessage_data());        Assert.assertEquals(message, null);    }       @Test    public void TestDeleteMessage()         //测试删除主题帖    {        Message abc=new Message();        abc.setMessage_id(11);        boolean result=messageDao.deleteMessage(abc);        Assert.assertEquals(true, result);    }    @Test    public void TestdeleteMessageByaccount_account()         //测试删除主题帖    {        int id=19;        boolean result=messageDao.deleteMessageByaccount_account(id);        Assert.assertEquals(true, result);    }    @Test    public void TestSearchMessageALL2()      //测试显示所有主题帖    {        List<Message> result=messageDao.searchMessageALL2();        for(Message message: result){            System.out.println("发帖人数字账号:"+message.getMessage_account()+" 名字"+message.getMessage_account_account()+"  主题帖数字ID: "+message.getMessage_id()+"  主题帖标题:"+message.getMessage_title()+"  主题帖内容:"+message.getMessage_content()+"  日期"+message.getMessage_data());        }        Assert.assertEquals(messageDao.searchMessageALL()==null, 0);    }}
0 0
原创粉丝点击