20180925-4 单元测试,结对
作业要求参照[https://edu.cnblogs.com/campus/nenu/2018fall/homework/2146]
git地址:https://git.coding.net/KamiForever/FourOperations.git
2人结对,使用TDD测试框架 (如NUnit, JUnit, cppUnit等)完成本周作业四则运算试题生成的单元测试。
要求1 对每个功能,先给出测试用例,然后再编码功能。请注意把测试用例视为功能需求完成的检验指标。 (40分)
结对伙伴:周昊
集成环境:Visual Studio 2017
编程语言:C++
功能1和功能2:
| 测试用例 | 预期结果 |
| f4 | 出现运算表达式,换行打印? |
| 输入正确的答案 | 答对了你真是个天才 |
| 输入错误的答案 | 再想想吧,答案似乎是 喔! |
| f4后共答20道题 | 你一共答对1道题,共20道题。 |
功能3,功能4:
| 测试用例 | 预期结果 |
| f4 -c 200 | 按格式打印出200道题后面附有答案 |
| f4 -c -200 | 提示题目数量必须是 正整数。 |
| f4 -c 1.5 | 提示题目数量必须是 正整数。 |
| f4 -c a | 提示题目数量必须是 正整数。 |
测试用代码:
TEST_METHOD(TestMethod1)
{
int a = 16;
int b = 4;
int ans = gcd(a, b);
Assert::AreEqual<int>(4, ans);
}
TEST_METHOD(TestMethod2)
{
ans;
ans.m = -10;
ans.d = 9;
fra[0].m = 4;
fra[0].d = 9;
fra[0].l = 2;
fra[0].r = 0;
fra[1].m = 1;
fra[1].d = 1;
fra[1].l = 0;
fra[1].r = 1;
fra[2].m = 1;
fra[2].d = 2;
fra[2].l = 0;
fra[2].r = 1;
fra[3].m = 1;
fra[3].d = 1;
fra[3].l = 0;
fra[3].r = 0;
op[0] = op[4] = '+';
op[1] = '-';
op[2] = '/';
op[3] = '*';
bra[0].l = 0;
bra[0].r = 2;
bra[1].l = 0;
bra[1].r = 1;
Fraction temp = getans(0, 3, 0);
Assert::AreEqual<Fraction>(ans, temp);
}
2.功能运行结果:
功能1和功能2:






通过测试截图:


浙公网安备 33010602011771号