返回多个参数的C函数的CPPFUnit断言 在我的项目中,我必须使用CPPUngt,它既包含C++代码又包含C代码。如何为单元测试断言以下函数: void readData(char* locationOfData,int* sizeT, int* sizeW,double* values);

返回多个参数的C函数的CPPFUnit断言 在我的项目中,我必须使用CPPUngt,它既包含C++代码又包含C代码。如何为单元测试断言以下函数: void readData(char* locationOfData,int* sizeT, int* sizeW,double* values);,c++,c,unit-testing,assert,cppunit,C++,C,Unit Testing,Assert,Cppunit,输入:locationOfData-数据文件的路径 输出:sizeT、sizeW、值(数组) 对于查找三个数字中的最小值这样的简单函数,我们可以使用: CPPUNIT_ASSERT(1==minValue(2,3,1)); 如何对上面的函数readData进行单元测试?使用变量存储返回值并对其进行断言?是的,我完全遵循了这种方法。char locationOfData=“data.dat”;int-sizeT=0;int-sizeW=0;double*values=(double)calloc

输入:locationOfData-数据文件的路径

输出:sizeT、sizeW、值(数组)

对于查找三个数字中的最小值这样的简单函数,我们可以使用:

CPPUNIT_ASSERT(1==minValue(2,3,1));

如何对上面的函数readData进行单元测试?

使用变量存储返回值并对其进行断言?是的,我完全遵循了这种方法。char locationOfData=“data.dat”;int-sizeT=0;int-sizeW=0;double*values=(double)calloc(sizeof(double),MAXBIG\u DYNAMIC\u MEMORY\u THRESHOLD\u用于未指定的大小);如果(sampledValues==NULL){(defaultLogStatus==1?logToDefaultFile(“testReadData:无法为值分配内存”,1):0);退出(0);}readData(locationOfData,&sizeT,&sizeW,值);cppunitu断言(40000==sizeT);CPPUNIT_断言(8000==sizew);但是我如何对长度为40000的数组值进行断言呢?除非您处理的是关键系统,在这些系统中CPPUnit可能不是最佳选择,否则您不应该对如此大量的数据进行单元测试。。。单元测试应该很小,并且涵盖软件所需的部分,这些不是集成测试。谢谢。基本上,我在这里处理的是涉及巨大数据集的ML算法。而且可能没有将readData函数进一步分解为更小的单元的余地。里面没有函数调用。也许我必须将readData中的代码重新构造成更小的单元,以便为单元测试做好准备,但考虑到我有限的时间和资源,我不确定这种方法是否正确。