结对成员:王伟东
要求1 对每个功能,先给出测试用例,然后再编码功能。请注意把测试用例视为功能需求完成的检验指标。
测试用例:
|
测试顺序 |
测试步骤 |
预期结果 |
|
测试一 |
Program.CreatString(“1”,”2”,”+”) |
返回“1 +2” |
|
测试二 |
Program.CreatString(“1”,”2”,”-”) |
返回“1 -2” |
|
测试三 |
Program.CreatString(“1”,”2”,”*”) |
返回“1 *2” |
|
测试四 |
Program.CreatString(“2”,”1”,”/”) |
返回“2/1” |
|
测试五 |
Program.ChangeExpression("2*( 1 + 2 ) /2") |
返回“3” |
1.添加测试项目。


2.由于程序是c++项目,所以依次选【Visual C++】->【测试】->【本机单元测试】

3.对以下四个代码进行单元测试,f4add(),f4div(),f4mult(),f4sub().

要求2 在博客报告测试用例全部fail 到 全部pass 的过程,报告事实 (fail到修改代码或者测试用例,到pass) 以及收获。 除了最初的框架,测试用例中存在一次性pass没有经过fail的,也报告一次性通过,给出如此优秀地实现了这部分功能的代码。

#include "stdafx.h"
#include "CppUnitTest.h"
#include "../Math/f4.h"
using namespace Microsoft::VisualStudio::CppUnitTestFramework;
namespace UnitTest1
{
TEST_CLASS(UnitTest1)
{
[TestMethod]
public void TestMethod1()
{
//加法测试
Program pro = new Program();
string num1 = "1";
string num2 = "2";
string op = "+";
string str = "1 + 2";
Assert.AreEqual(str,
Program.CreateString(num1, num2, op));
}
[TestMethod]
public void TestMethod2()
{
//减法测试
Program pro = new Program();
string num1 = "1";
string num2 = "2";
string op = "-";
string str = "1 - 2";
Assert.AreEqual(str,
Program.CreateString(num1, num2, op));
}
[TestMethod]
public void TestMethod3()
{
//乘法测试
Program pro = new Program();
string num1 = "1";
string num2 = "2";
string op = "*";
string str = "1 * 2";
Assert.AreEqual(str,
Program.CreateString(num1, num2, op));
}
[TestMethod]
public void TestMethod4()
{
//除法测试
Program pro = new Program();
string num1 = "2";
string num2 = "1";
string op = "/";
string str = "2/1";
Assert.AreEqual(str,
Program.CreateString(num1, num2, op));
}
[TestMethod]
public void TestMethod5()
{
//字符串转换测试
f4.Program pro = new f4.Program();
string str = "2 * ( 2 + 1 ) / 2";
int res = 3;
Assert.AreEqual(res, Program.ChangeExpression(str));
}
}
}
要求3 做好准备,在接下的一周你可能无法通过别人的测试用例。 (0分)
要求4 使用coding.net做版本控制。checkin 前要求清理 临时文件、可执行程序,通常执行 build-clean可以达到效果。(5分)
git地址:https://git.coding.net/lyy181/count.git