51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 2692|回复: 1
打印 上一主题 下一主题

[讨论] 请问cppunit中如何测试异常输入?

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2009-7-17 16:57:26 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
各位大侠,我最近刚开始接触单元测试,用的工具是CPPUNIT,现在遇到一难题,还请各位帮忙,谢谢了。
被测函数:获得当前矩阵的指定行向量
Matrix3x3:: Vertex3d GetRowVector(int nRow) const
{
    ASSERT(nRow < m_iDimM && nRow > -1);
    return Vertex3d((*this)[nRow][0],(*this)[nRow][1],(*this)[nRow][2]);
}

我写的测试用例:
void Matrix3x3TestCase::testGetColVector()
{
        Matrix3x3 mtr3x31(1.0,2.0,3.0,4.0,5.0,6.0,7.0,8.0,9.0);
        Vertex3d vtx1=mtr3x31.GetColVector(0);
        CPPUNIT_ASSERT_EQUAL(1.0,vtx1.x);
        CPPUNIT_ASSERT_EQUAL(4.0,vtx1.y);
        CPPUNIT_ASSERT_EQUAL(7.0,vtx1.z);
        
        Vertex3d vtx2=mtr3x31.GetColVector(1);
        CPPUNIT_ASSERT_EQUAL(2.0,vtx2.x);
        CPPUNIT_ASSERT_EQUAL(5.0,vtx2.y);
        CPPUNIT_ASSERT_EQUAL(8.0,vtx2.z);
        
        Vertex3d vtx3=mtr3x31.GetColVector(2);
        CPPUNIT_ASSERT_EQUAL(3.0,vtx3.x);
        CPPUNIT_ASSERT_EQUAL(6.0,vtx3.y);
        CPPUNIT_ASSERT_EQUAL(9.0,vtx3.z);
//        Vertex3d vtx4;
//        vtx4=mtr3x31.GetColVector(3);

//        Vertex3d vtx5;
//        vtx5=mtr3x31.GetColVector(-1);
}
请问,对于输入的行号为3或者-1这一类不符合要求的数字时,这类异常应该如何捕获呢?我不会在cppunit中捕获异常用例出错情况,还请各位指导!
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
 楼主| 发表于 2009-7-23 17:12:02 | 只看该作者
自己顶一下,请大家帮忙指导下呢
回复 支持 反对

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-11-13 10:43 , Processed in 0.063338 second(s), 28 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表