一个便利地特性,GenericTest类型将捕获定位到标准输出地任何事情,在结果文件中提供一个运行日志。不幸的是,这看上去像是一个捕获的问题,在那提取一些信息将导致测试驱动进程挂起。但是大部分测试程序在几秒中内不会抽空输出结果中的100行。
创建单元测试
当提到测试,Visual Studio真正的魔力就是当你在编辑器里右击一个方法时,它可以奇妙的创建你得到的单元测试选项。这个特性非常好,可以很容易的快速添加单元测试。但是,我遇到了一个小的哲学问题,它让你创建可以直接进入类并且访问私有方法的单元测试。
针对允许测试工具直接调用私有的或受保护的方法的争论就是它减化了测试(只写很少的代码),并且帮助扩宽了代码覆盖。这些争论是很诱人的,但是我同意这个观点,就是认为单元测试应该仅仅通过公共接口出现。单元测试是代码的首次使用,你想朝着其他的怎么使用它的方向来调整测试。如果有一些私有方法,这些方法你在没有short circuiting和直接的调用它们的情况下不能充分的测试,我必须知道是否代码需要被注册。为了阻止偶然的创建一个直接调用私有方法的单元测试,找到创建单元测试对话框,在右上角点击过滤,然后清空显示非公共项目。
我决不是一个绝对论者。我确定有一些示例,在示例里面它将帮助调用私有方法。但是,仅因为工具允许你做一些事情并不意味着你将依赖它。单元测试是测试的第一阶段,它也是你开始white box测试的第一个位置。
使用NUnit