通俗的理解,单元测试的二个主要作用:

  1、保存API接口或是功能的调用方式和参数值,以留作改善或是问题查找的源头

  2、记录对新技术的学习,掌握情况,供快速参考。

  Lambda表达式代表一个匿名方法,如果调用这个方法,对它求值呢,参考下面的代码例子

[TestMethod]
public void TraceTestMethod()
{
       Expression<Func<DateTime>> expr = () => DateTime.Now.AddDays(1);
       Func<DateTime> tomorrow = expr.Compile();
       Console.WriteLine(tomorrow());
      
}

  看了这个例子后,肯清楚的解释了步骤,照葫芦化瓢,一下子可以应用到工作中。

  再来看几个扩展方法的例子,看下面的代码,生成字节数

[TestMethod]
public void ByteTest()
{
     var kb = 1.KB();
     var mb = 1.MB();
     var gb = 1.GB();
     var tb = 1.TB();
}

  追综到源代码中,原来是这样的几个扩展方法:

/// <summary>
        /// Kilobytes
        /// </summary>
        /// <param name="value"></param>
        /// <returns></returns>
        public static int KB(this int value)
        {
            return value * 1024;
        }

        /// <summary>
        /// Megabytes
        /// </summary>
        /// <param name="value"></param>
        /// <returns></returns>
        public static int MB(this int value)
        {
            return value.KB() * 1024;
        }

        /// <summary>
        /// Gigabytes
        /// </summary>
        /// <param name="value"></param>
        /// <returns></returns>
        public static int GB(this int value)
        {
            return value.MB() * 1024;
        }

        /// <summary>
        /// Terabytes
        /// </summary>
        /// <param name="value"></param>
        /// <returns></returns>
        public static long TB(this int value)
        {
            return (long)value.GB() * (long)1024;
        }

  测试代码是为自己而写,为自己掌握这项技术,熟悉这下技术,记的笔记。

  Visual Studio本身是个很好的代码收藏工具,有好的编辑器,调试器,再以一个源代码管理工具作为辅助,这组合成一个很好的代码收藏工具。看了我这篇文章之后,你可能再也不想用代码收藏工具了。我鼓励你把它扔掉,把收藏的代码片段直接保存在一个测试项目中,坚持积累,积跬步而行千里路,庖丁解牛,游刃有余。