作业20170928--2 单元测试
首先,在vs2017环境下安装NUnit插件,工具>扩展更新>联机>查找NUnit>安装插件,如下图所示:
写一个简单的小程序当testdemo,测试>窗口>测试资源管理器,效果如下图所示:
在冉华同学的提醒下,我发现自己并没有进行成功的单元测试,下面是在同伴帮助下进行单元测试的过程记录:
1.在项目中新建一个测试文件,如图所示:
2.在原有项目中写一个加法函数作为测试函数
class Test
{
public int TestData(int one, int two) {
int res = 0;
res = one + two;
return res;
}
3.在新建的测试项中写入如下代码
using NUnit.Framework;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Project1
{
[TestFixture]
public class TestClass1
{
Test tData = new Test();
[Test]
public void TestTestData()
{
// TODO: Add your test code here
// Assert.Pass("Your first passing test");
Assert.AreEqual(6, tData.TestData(2, 4));
}
[Test]
public void TestMultData()
{
// TODO: Add your test code here
// Assert.Pass("Your first passing test");
Assert.AreEqual(6, tData.MultData(2, 4));
}
}
}
4.选择需要测试的函数名,右键选择运行测试,效果如下图所示:
2人结对,使用TDD测试框架 (如NUnit, JUnit, cppUnit等)完成本周作业四则运算试题生成的单元测试。
要求1 对每个功能,先给出测试用例,然后再编码功能。请注意把测试用例视为功能需求完成的检验指标。 (40分)
以如下图的形式针对4个功能写了4个测试用例文档:
我们对代码进行了功能测试,除了题目查重功能没有实现,其余功能全部实现,测试用例doc地址:https://git.coding.net/Dawnfox/f4.git
要求2 在博客报告测试用例全部fail 到 全部pass 的过程,报告事实 (fail到修改代码或者测试用例,到pass) 以及收获。 除了最初的框架,测试用例中存在一次性pass没有经过fail的,也报告一次性通过,给出如此优秀地实现了这部分功能的代码。(40分)
如上图所示:针对KernelLib.cs与AdditionnalLib.cs中的共8个函数进行单元测试,测试全部通过,测试代码在coding.net上,链接如下:https://coding.net/u/Dawnfox/p/f4/git