我有一个单元测试C项目的任务作业。 它是用代码块编写的。 以下是代码中的一个示例:
void ServerUserWrite(int Command) //Command "1" prints an extra row into server. For example addinga new user. it expects that the extra row with the correct data is already existing in the structure.
{
FILE *UserDataBase;
int i,j;
UserDataBase=fopen(UserDatabasePath,"w");
if(Command==1)
{ServerUserCount=ServerUserCount+1;}
fprintf(UserDataBase,"%d\n",ServerUserCount);
if(ServerUserCount>0)
{
for(i=0;i<ServerUserCount;i++)
{
fprintf(UserDataBase,"%d ",UserDB[i].UserID);
fprintf(UserDataBase,"%s ",UserDB[i].User);
fprintf(UserDataBase,"%d ",UserDB[i].UserPasswordLength);
fprintf(UserDataBase,"%d ",UserDB[i].Encrypter);
for (j=0;j<UserDB[i].UserPasswordLength;j++)
{fprintf(UserDataBase,"%d ",UserDB[i].Pass[j]);}
fprintf(UserDataBase,"%d ",UserDB[i].BackgroundColor);
fprintf(UserDataBase,"%d ",UserDB[i].ForegroundColor);
fprintf(UserDataBase,"%d ",UserDB[i].UnreadMessages);
fprintf(UserDataBase,"%d\n",UserDB[i].UnreadTweets);
}
}
fclose(UserDataBase);
}
那么问题是: 是否有任何单元测试框架与代码块结合? 怎么做?
答案 0 :(得分:1)
是的,我们也使用Check来对我们的C项目进行单元测试,不需要集成到IDE中,将测试结果显示为纯文本会更友好。
但是有一个C ++单元测试框架可以与代码块IDE结合使用: Unit testing for Code Block
答案 1 :(得分:0)
不了解代码块,但您可能想使用check.h并遵循本教程: http://check.sourceforge.net/doc/check_html/check_3.html。 用它编写测试套件非常简单。我了解了它看gstreamer编辑服务,你可能想看看他们的测试套件: http://cgit.freedesktop.org/gstreamer/gst-editing-services/tree/tests/check/ges 他们重新实现了它,但它的工作方式基本相同。
答案 2 :(得分:0)