前沿 本机环境: VS2015 创建项目使用.net版本为 .net framework 4.0 1.1创建项目新建一个项目,项目类型不定。我在这里选择创建了一个控制台应用程序 然后在当前项目下添加一个类Calculate.cs。新建并添加后的结构如下: 在Calculate.cs文件中添加下面所示的内容: - using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
-
- namespace Example
- {
- public class Calculate
- {
- /// <summary>
- /// 累加器 从1开始累加到传入的值
- /// </summary>
- /// <param name="ivalue">传入的值</param>
- /// <returns>累加的总值</returns>
- public static int GetSum(int ivalue)
- {
- int sum = 0;
- for (int i = 1; i <= ivalue; i++)
- {
- sum += i;
- }
- return sum;
- }
- }
- }
复制代码 1.2创建与之对应的单元测试选择当前的解决方案,然后右键添加新的项目,选择测试中的单元测试项目。名称的命 名方式为Test_项目名。 我们把默认添加的UnitTest1.cs改名为:Test_Calculate.cs(和我们要测试的类名称对应)。 这时我们需要添加Example的引用这样才可以对该项目进行测试。 右键Test_Example中的引用,点击添加引用,选到项目中的Example然后点击确定即可。 这样我们修改Test_Calculate.cs中的内容如下: - using System;
- using Microsoft.VisualStudio.TestTools.UnitTesting;
- using Example;
-
- namespace Test_Example
- {
- [TestClass]
- public class Test_Calculate
- {
- [TestMethod]
- public void TesGetSum()
- {
- Assert.IsTrue(Calculate.GetSum(10) == 55);
- }
- }
- }
复制代码然后通过测试->运行->所有测试来查看测试结果,结果如下: 因为1到10的累积和刚好等于55,所以测试时正确的,如果我们把55换成60,再看下效果: 这样我们就可以很清楚的看到Assert.IsTrue这里是存在问题的。 1.3常用的Assert用法Assert.Inconclusive() 表示一个未验证的测试; Assert.AreEqual() 测试指定的值是否相等,如果相等,则测试通过; AreSame() 用于验证指定的两个对象变量是指向相同的对象,否则认为是错误 AreNotSame() 用于验证指定的两个对象变量是指向不同的对象,否则认为是错误 Assert.IsTrue() 测试指定的条件是否为True,如果为True,则测试通过; Assert.IsFalse() 测试指定的条件是否为False,如果为False,则测试通过; Assert.IsNull() 测试指定的对象是否为空引用,如果为空,则测试通过; Assert.IsNotNull() 测试指定的对象是否为非空,如果不为空,则测试通过; 小提示如果你本机安装了VS2010和一个更高版本的VS,这时你用VS2010编写单元测试并运 行时就会发现所有的单元测试都是处于挂起的状态。网上很多人遇到了这种情况, 所以个人建议使用更高版本的VS。
|