INS*_*INS 4 c++ unit-testing file stub
我正在使用Parasoft的C++ Test来测试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;
}
Run Code Online (Sandbox Code Playgroud)
我在这种情况下的问题是:
我应该使用存根文件系统功能吗?或者我应该包含用于运行单元测试的特定样本测试文件?
在我的例子中,std :: fstream类用于文件输入.
有没有更好的建议?(如果在C++测试中完成但不是强制性的最佳).
小智 5
对于此功能的单元测试,应为每个调用的函数使用存根。
然后,每个被调用的函数都有其自己的单元测试套件,用于执行该功能。
对于read_entire_file_to_buffer(),您希望至少一个测试文件大量溢出缓冲区,以验证当它们为您提供纽约证券交易所历史记录而不是您期望的40个字符的配置文件时,您不会崩溃或烧毁。