本机环境: VS2015
创建项目使用.net版本为 .net framework 4.0
新建一个项目,项目类型不定。我在这里选择创建了一个控制台应用程序
然后在当前项目下添加一个类Calculate.cs。新建并添加后的结构如下:
在Calculate.cs文件中添加下面所示的内容:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Example
{
public class Calculate
{
///
/// 累加器 从1开始累加到传入的值
///
/// ">传入的值
///
public static int GetSum(int ivalue)
{
int sum = 0;
for (int i = 1; i <= ivalue; i++)
{
sum += i;
}
return sum;
}
}
}
选择当前的解决方案,然后右键添加新的项目,选择测试中的单元测试项目。名称的命名方式为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这里是存在问题的。
Assert.Inconclusive() 表示一个未验证的测试;
Assert.AreEqual() 测试指定的值是否相等,如果相等,则测试通过;
AreSame() 用于验证指定的两个对象变量是指向相同的对象,否则认为是错误
AreNotSame() 用于验证指定的两个对象变量是指向不同的对象,否则认为是错误
Assert.IsTrue() 测试指定的条件是否为True,如果为True,则测试通过;
Assert.IsFalse() 测试指定的条件是否为False,如果为False,则测试通过;
Assert.IsNull() 测试指定的对象是否为空引用,如果为空,则测试通过;
Assert.IsNotNull() 测试指定的对象是否为非空,如果不为空,则测试通过;
如果你本机安装了VS2010和一个更高版本的VS,这时你用VS2010编写单元测试并运行时就会发现所有的单元测试都是处于挂起的状态。网上很多人遇到了这种情况,所以个人建议使用更高版本的VS。