VS2010 下的单元测试
以前的公司,开发工具都是 VS2003 2005 2008 , 对于单元测试, 都是去下载个 Nunit 来做单元测试的。
新公司的开发工具是 VS 2010, 我去看看 Nunit 的下载列表, 发现没有新版本了。
然后查询了一下,原来 VS2010 已经自带 单元测试的功能了, Nunit 没有更新的必要了……
字符串截取工具今天做了一下单元测试的练习,使用起来,效果还是不错的。
个被测试的类,右键 创建单元测试…… 就能把一个类的 测试代码的外壳都自动写好。
首先是被测试接口:
/// <summary>
/// 这个接口为 “被测试类” 的接口.
///
/// 用于 学习在 VS2010 中, 如何使用 测试项目 来测试的.
/// 这个接口为 “被测试类” 的接口.
///
/// 用于 学习在 VS2010 中, 如何使用 测试项目 来测试的.
///
///
/// 操作的步骤如下:
/// 首先,被 测试项目,也就是这个 TestClassLib 项目
/// 然后,创建一个 测试项目,也就是 UnitTest 项目
///
/// 在定义好了 接口,也就是 IBase 之后。
/// 在接口 IBase.cs 这里 右键 选择 “创建单元测试...”
///
/// 在弹出窗口中,选择好要测试的 方法。
/// 然后确定 下面的 输出项目 为 UnitTest 项目后,按“确定”按钮.
/// 在 UnitTest 项目中,到一个 IBaseTest.cs 的类
/// 在只有接口,没有写任何业务代码之前,可以开始写 测试代码.
///
///
///
/// 操作的步骤如下:
/// 首先,被 测试项目,也就是这个 TestClassLib 项目
/// 然后,创建一个 测试项目,也就是 UnitTest 项目
///
/// 在定义好了 接口,也就是 IBase 之后。
/// 在接口 IBase.cs 这里 右键 选择 “创建单元测试...”
///
/// 在弹出窗口中,选择好要测试的 方法。
/// 然后确定 下面的 输出项目 为 UnitTest 项目后,按“确定”按钮.
/// 在 UnitTest 项目中,到一个 IBaseTest.cs 的类
/// 在只有接口,没有写任何业务代码之前,可以开始写 测试代码.
///
///
/// </summary>
interface IBase
{
interface IBase
{
/// <summary>
/// 加法的接口.
/// </summary>
/// <param name="val1"></param>
/// <param name="val2"></param>
/// <returns></returns>
int Add(int val1, int val2);
/// 加法的接口.
/// </summary>
/// <param name="val1"></param>
/// <param name="val2"></param>
/// <returns></returns>
int Add(int val1, int val2);
/// <summary>
/// 减法的接口.
/// </summary>
/// <param name="val1"></param>
/// <param name="val2"></param>
/// <returns></returns>
int Sub(int val1, int val2);
/// <param name="val2"></param>
/// <returns></returns>
int Sub(int val1, int val2);
/// <summary>
/// 连接字符串.
/// </summary>
/// <param name="val1"></param>
/// <param name="val2"></param>
/// <returns></returns>
String Concat(String val1, String val2);
/// <summary>
/// 连接字符串 并小写.
/// </summary>
/// <param name="val1"></param>
/// <param name="val2"></param>
/// <returns></returns>
String ConcatWithLowCase(String val1, String val2);
/// </summary>
/// <param name="val1"></param>
/// <param name="val2"></param>
/// <returns></returns>
String ConcatWithLowCase(String val1, String val2);
/// <summary>
/// 两个数字是否相等.
/// </summary>
/// <param name="val1"></param>
/// <param name="val2"></param>
/// <returns></returns>
bool IsEqual(int val1, int val2);
/// <summary>
/// 截取字符串.
/// </summary>
/// <param name="val"></param>
/// <param name="start"></param>
/// <param name="length"></param>
/// <returns></returns>
String SubString(String val, int start, int length);
}
然后是 被测试类
/// <summary>
/// 这个类为 “被测试类”
/// 这个类为 “被测试类”
///
/// 用于 学习在 VS2010 中, 如何使用 测试项目 来测试的.
///
/// 对于代码覆盖率
/// 首先要双击 stsettings
/// 在数据和诊断 的地方, 选择 代码覆盖率
/// 然后双击 代码覆盖率 在 “选择要检测的项目” 的地方, 选择 被测试的项目
/// 最后双击 在 Solution Items 下面的 VS2010Test.vsmdi
/// 进行测试。
///
/// 如果以运行 Test 项目的方式 来进行测试, 可能看不到 代码覆盖率
/// </summary>
public class BaseClass : IBase
{
/// 用于 学习在 VS2010 中, 如何使用 测试项目 来测试的.
///
/// 对于代码覆盖率
/// 首先要双击 stsettings
/// 在数据和诊断 的地方, 选择 代码覆盖率
/// 然后双击 代码覆盖率 在 “选择要检测的项目” 的地方, 选择 被测试的项目
/// 最后双击 在 Solution Items 下面的 VS2010Test.vsmdi
/// 进行测试。
///
/// 如果以运行 Test 项目的方式 来进行测试, 可能看不到 代码覆盖率
/// </summary>
public class BaseClass : IBase
{
/// <summary>
/// 加法.
/// </summary>
/// <param name="val1"></param>
/// <param name="val2"></param>
/// <returns></returns>
public int Add(int val1, int val2)
{
return val1 + val2;
}
/// </summary>
/// <param name="val1"></param>
/// <param name="val2"></param>
/// <returns></returns>
public int Add(int val1, int val2)
{
return val1 + val2;
}
/// <summary>
/// 减法.
/// </summary>
/// <param name="val1"></param>
/// <param name="val2"></param>
/// <returns></returns>
public int Sub(int val1, int val2)
{
return val1 - val2;
}
public int Sub(int val1, int val2)
{
return val1 - val2;
}
/// <summary>
/// 连接字符串.
/// </summary>
/// <param name="val1"></param>
/// <param name="val2"></param>
/// <returns></returns>
public String Concat(String val1, String val2)
{
return val1 + val2;
}
/// <summary>
/// 连接字符串 并小写.
/// </summary>
/// <param name="val1"></param>
/// <param name="val2"></param>
/// <returns></returns>
public String ConcatWithLowCase(String val1, String val2)
{
return val1.ToLower() + val2.ToLower();
}
/// 连接字符串 并小写.
/// </summary>
/// <param name="val1"></param>
/// <param name="val2"></param>
/// <returns></returns>
public String ConcatWithLowCase(String val1, String val2)
{
return val1.ToLower() + val2.ToLower();
}
/// <summary>
/// 两个数字是否相等.
/// </summary>
/// <param name="val1"></param>
/// <param name="val2"></param>
/// <returns></returns>
public bool IsEqual(int val1, int val2)
{
return val1 == val2;
}
/// <param name="val1"></param>
/// <param name="val2"></param>
/// <returns></returns>
public bool IsEqual(int val1, int val2)
{
return val1 == val2;
}
/// <summary>
/// 截取字符串.
/// </summary>
/// <param name="val"></param>
/// <param name="start"></param>
/// <param name="length"></param>
/// <returns></returns>
/// 截取字符串.
/// </summary>
/// <param name="val"></param>
/// <param name="start"></param>
/// <param name="length"></param>
/// <returns></returns>
public String SubString(String val, int start, int length)
{
if (start < 0)
{
return null;
}
{
if (start < 0)
{
return null;
}
if ((start + length) > val.Length)
{
return null;
}
{
return null;
}
if (length < 0)
{
return null;
}
{
return null;
}
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论