您的位置:首页 > 编程语言 > Java开发

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

2016-11-28 23:54 399 查看
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测试,构成如下形式:

@Test
public 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);
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: