C++ 当要测试的功能需要用户输入时,如何生成驱动程序功能?

C++ 当要测试的功能需要用户输入时,如何生成驱动程序功能?,c++,project,C++,Project,我正在为我的大学cs入门课程做一个项目,我们必须编写一个类似“赌场”的代码。其中一个要求是用户可以选择一个“测试用例”功能,当选择该功能时,它将测试我们的所有功能。问题是,如何测试需要大量用户输入并使用大量随机数的函数 我试着研究如何让计算机代替用户输入,但我没有发现任何结论。另外,在提供答案时,请记住这是一门入门课,因此我的代码既不干净也不高效,但这是我所学到的 “赌场”的高/低示例游戏: void highLowGame(整数和当前余额) { 国际贸易额; int-baseNum; int

我正在为我的大学cs入门课程做一个项目,我们必须编写一个类似“赌场”的代码。其中一个要求是用户可以选择一个“测试用例”功能,当选择该功能时,它将测试我们的所有功能。问题是,如何测试需要大量用户输入并使用大量随机数的函数

我试着研究如何让计算机代替用户输入,但我没有发现任何结论。另外,在提供答案时,请记住这是一门入门课,因此我的代码既不干净也不高效,但这是我所学到的

“赌场”的高/低示例游戏:

void highLowGame(整数和当前余额)
{
国际贸易额;
int-baseNum;
int secondNum;
查尔荷尔;
煤焦连续体;
做
{

cout您会注意到professors示例函数不需要用户输入,也没有随机元素

如果我要为此编写测试,我会将我的方法分解成更小的方法,然后测试没有用户输入、没有随机元素的方法

我注意到您有一个方法
correctinInput(betAmount)
。它看起来是一个很好的测试候选者。编写一些测试,传递已知的好值和坏值,然后验证它是否为您提供了坏的预期结果。与
validBet(…)
updateBalance(…)
相同

这段代码也可以放入它自己的函数中并进行测试

if ((((hOrL == 'l') || (hOrL == 'L')) && (secondNum < baseNum)) || (((hOrL == 'h') || (hOrL == 'H')) && (secondNum > baseNum)))
{
  cout << "Congratulations, you won your bet!\n";
  updateBalance(currentBalance, 1, betAmount, true);
  cout << "Your new balance is " << currentBalance << "\n";
}
else
{
  cout << "Looks like you lost your bet!\n";
  updateBalance(currentBalance, 1, betAmount, false);
  cout << "Your new balance is " << currentBalance << "\n";
}
if((((hOrL='l')| |(hOrL='l'))和&(secondNumbaseNum)))
{

你能更新你的答案,给出一些用户可能输入的例子吗?如果输入必须来自
std::cin
,你可以编写一个
C++
程序,打印出随机输入,然后将其导入你的代码中。(我个人会用
python
来做。)不幸的是,我不知道如何制作一个打印随机输入的程序。我只做了7个星期,所以我知道最先进的是数组,甚至只有基本的东西。至于为什么我使用C++,它当然是需要的。对于样本输入,它实际上取决于代码的哪个点。当被问到是否要继续时,他们可以输入y或n,但当被问到他们想赌多少钱时,他们需要输入一个大于零但小于当前余额的数字。你是在测试需要用户输入的函数,还是只测试那些在幕后做数学运算的函数?我完成了测试数学的部分函数,但基于方向,教授似乎希望我们也使用用户输入来测试这些函数。可能最好与您的教授确认这一点,而且,确认您需要运行多少个测试也可能会有所帮助。如果他们只希望运行一个测试,您可能可以手动进行;无论如何,如果您的教授r知道的比我们多,他们才是要问的人!