1.创建解决方案和单元测试项目
1).“文件”菜单上选择“新建”,然后选择“新建项目”。
2).在“新建项目”对话框中,展开“已安装”、“Visual C#”,选择“Windows Store”。然后从项目模板列表中选择“空白应用程序”。
3).将项目命名为 MyTestProject,并确保选中“创建解决方案的目录”。
4).在解决方案资源管理器中,选择解决方案名称,从快捷菜单中选择“添加”,然后选择“新建项目”。
5).在“新建项目”对话框中,展开“已安装”、“Visual C#”,然后选择“Windows 应用商店”。然后从项目模板列表中选择“单元测试库(Windows Store 应用程序)”。
注意:是先创建一个项目,然后再这个项目中添加测试项目,这样符合我们在开发中需要对我们的项目进行测试的需求。
6).在 Visual Studio 编辑器中打开 UnitTest1.cs。
namespace UnitTestLibraryTest
{
[TestClass]
public class UnitTest1
{
[TestMethod]
public void TestMethod1()
{
}
}
}
注意以下事项:
a.每个测试都是使用 [TestMethod] 定义的。测试方法必须返回 void,并且不能具有任何参数。在类名前一行,加上[TestClass]的声明.
b.测试方法必须位于使用 [TestMethod] 特性修饰的类中。运行测试时,将为每个测试类创建一个实例。将按未指定顺序调用测试方法。
c.您可定义在每个模块、每个类或每个方法前后调用的特定方法。
d.在文件头部加入using Microsoft.VisualStudio.TestPlatform.UnitTestFramework;的引用。
7).测试前的初始化及测试后的清理。用法及代码如下:
namespace UnitTestLibraryTest
{
[TestClass]
public class UnitTest1
{
private int a;
private int b;
// 当前测试类运行第一个测试方法之前执行,类似于构造函数
[ClassInitialize]
public static void MyClassInit(TestContext context)
{
}
// 所有测试方法运行完毕后执行,类似于析构函数
[ClassCleanup]
public static void MyClassEnd()
{
}
//每个测试方法运行之前执行
[TestInitialize]
public void Init()
{
a = 1;
b = 1;
}
//每个测试方法运行之后执行
[TestCleanup]
public void End()
{
a = 0;
b = 0;
}
}
}
注意:以上方法,方法名可以自定义,无返回值,除了[ClassInitialize]的那个函数有个TestContext的参数外,其他无参数。 2.验证测试是否在测试管理资源器中运行
1).在 UnitTest1.cs 文件的 TestMethod1 中插入一些测试代码:
[TestMethod]
public void AddTestMethod()
{
int a = 1;
int b = 2;
int sum = a+b;
Assert.AreEqual(3,sum);
}
注意,Assert 类提供的若干静态方法可用于验证测试方法的结果。
2).在“测试”菜单上,选择“运行”,然后选择“全部运行”。
将生成并运行测试项目。随即显示“测试资源管理器”窗口,并且测试列出在“已通过的测试”下。窗口底部的“摘要”窗格将提供有关所选测试的其他详细信息。 3.向MyTestProject项目添加Rooter类
1).在“解决方案资源管理器”中,选择“MyTestProject”项目名称。从快捷菜单中选择“添加”,然后选择“类”。
2).将类文件命名为 Rooter.cs。
3).将以下代码添加到 Rooter 类 Rooter.cs 文件中:
public class Rooter
{
public Rooter()
{
}
public double SquareRoot(double x)
{
return 0.0;
}
}
Rooter 类声明一个构造函数和 SqareRoot estimator 方法。
4).SqareRoot 方法只是一个最小实现,足以为测试设置测试基本结构。 4.将测试项目合并为应用程序项目
1).将对 "MyTestProject"应用程序的引用添加到 UnitTestLibraryTest项目中。
2).向 UnitTest1.cs 文件添加 using 语句:
a.打开 UnitTest1.cs。
b.在 using Microsoft.VisualStudio.TestPlatform.UnitTestFramework; 行下添加代码:using MyTestProject;
3).添加使用 Rooter 函数的测试。将下列代码添加到 UnitTest1.cs: