加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c – 如何对涉及文件输入输出的方法进行单元测试?

发布时间:2020-12-16 10:38:31 所属栏目:百科 来源:网络整理
导读:我正在使用Parasoft的C测试来测试C代码. 我遇到了以下问题.我有一个类似下一个函数(伪代码): bool LoadFileToMem(const std::string rStrFileName){ if( openfile(rStrFileName) == successfull ) { if( get_file_size() == successfull ) { if( read_entir
我正在使用Parasoft的C测试来测试C代码.
我遇到了以下问题.我有一个类似下一个函数(伪代码):

bool LoadFileToMem(const std::string& rStrFileName)
{
    if( openfile(rStrFileName) == successfull )
    {
         if( get_file_size() == successfull )
         {
            if( read_entire_file_to_buffer() == successfull )
            {
                return true;
            }
            return false;
         }
         return false;
    }
    return false;
}

我在这种情况下的问题是:

我应该使用存根文件系统功能吗?或者我应该包含用于运行单元测试的特定样本测试文件?

在我的情况下,std::fstream类用于文件输入.

有没有更好的建议? (最好是在C测试中完成但不是强制性的).

解决方法

对于单元测试THIS函数,您应该为每个被调用函数使用存根.

每个被调用的函数都有自己的单元测试套件,它可以运行该功能.

对于read_entire_file_to_buffer(),您希望至少有一个测试文件大量溢出缓冲区,以确保在它们为您提供纽约证券交易所历史记录而不是您期望的40个字符的配置文件时不会崩溃和刻录.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读