【发布时间】:2015-10-03 21:45:39
【问题描述】:
我的任务是为一些 C++ 代码编写测试。我做了一个非常简单的函数来反转一个字符串。我用 C# 写过测试,但从来没有用 C++ 写过。 C++ 测试是什么样的?
这是我的代码:main 接受一个命令行参数,将其发送到 reverse 以反转字符串并返回它。
include <iostream>
#include <cstring>
using namespace std;
char * reverse(char *s)
{
int len = strlen(s);
char *head = s;
char *tail = &s[len-1];
while (head < tail)
swap(*head++, *tail--);
//cout << s <<endl;
return s;
}
int main(int argc, char *argv[])
{
char *s;
for (int i=1; i < argc; i++)
{
s = reverse(argv[i]);
cout << s<<endl;
}
}
那么,测试会看起来像吗?:
bool test()
{
char *s = "haha3";
char *new_s = reverse(s);
if (new_s == "3ahah")
return true;
return false;
}
有没有更好的方法来做到这一点?语法明智?用于测试 C++ 函数的代码更好看?
【问题讨论】:
-
我会从不尝试反转只读文字开始。
-
C++ 语言没有“测试”的概念,C# 也没有。您正在使用一些添加它们的库。