VS2010 下的单元测试
以前的公司,开发工具都是 VS2003 2005 2008 , 对于单元测试, 都是去下载个 Nunit 来做单元测试的。
新公司的开发工具是 VS 2010, 我去看看 Nunit 的下载列表, 发现没有新版本了。
然后查询了一下,原来 VS2010 已经自带 单元测试的功能了, Nunit 没有更新的必要了……
字符串截取工具今天做了一下单元测试的练习,使用起来,效果还是不错的。
个被测试的类,右键 创建单元测试…… 就能把一个类的 测试代码的外壳都自动写好。
首先是被测试接口:
    /// <summary>
    /// 这个接口为 “被测试类” 的接口.
    ///
    /// 用于 学习在 VS2010 中, 如何使用 测试项目 来测试的.
    ///
    ///
    /// 操作的步骤如下:
    ///    首先,被 测试项目,也就是这个 TestClassLib 项目
    ///    然后,创建一个 测试项目,也就是 UnitTest 项目
    ///   
    ///    在定义好了 接口,也就是 IBase 之后。
    ///    在接口 IBase.cs 这里 右键 选择 “创建单元测试...”
    ///   
    ///    在弹出窗口中,选择好要测试的 方法。
    ///    然后确定 下面的 输出项目 为 UnitTest 项目后,按“确定”按钮.
    ///    在 UnitTest 项目中,到一个 IBaseTest.cs 的类
    ///    在只有接口,没有写任何业务代码之前,可以开始写 测试代码.
    ///   
    ///
    /// </summary>
    interface IBase
    {
        /// <summary>
        /// 加法的接口.
        /// </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);

        /// <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>
        /// 两个数字是否相等.
        /// </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
    {
        /// <summary>
        /// 加法.
        /// </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;
        }

        /// <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>
        /// 两个数字是否相等.
        /// </summary>
        /// <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>
        public String SubString(String val, int start, int length)
        {
            if (start < 0)
            {
                return null;
            }
            if ((start + length) > val.Length)
            {
                return null;
            }
            if (length < 0)
            {
                return null;
            }

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。