Galilo和MbUnit发布3.06版

Gallio和MbUnit发布了3.0.6版 。Gallio是一个开放的、可扩展的、(测试框架)中立的自动化测试平台,它提供了.NET上的公共模型、运行时和工具(例如测试运行工具),任何测试框架都可以使用这个平台。

MbUnit是.NET上的一个很受欢迎的高效测试框架,3.0.6版包括以下改进:

  • 并行运行
  • MbUnit3.0.6可以充分利用你的多核处理器。只要给测试用例(test)加上[Parallelizable]属性,这个测试用例就可以和同一个测试套件(fixture)中其他拥有该属性的测试用例并行运行。测试套件也可以被标记为[Parallelizable],这样测试套件也可以和其他拥有该属性的测试套件并行运行。需要注意的是,如果你希望一个测试套件中的所有测试用例都能并行运行,仍然需要手动为每个测试用例添加[Paralleizable]属性(我们可能会跟据用户的反馈,在晚些时候添加测试套件或程序集级别的属性)。特别需要注意的是,仅仅为测试用例或测试套件添加[Parallelizable]属性,并不意味着它一定会和其他的测试并行运行。基于效率的考虑,我们限制了同时运行测试的线程数量,你可以通过配置并发度来修改这个数量。如果你想让一个测试用例同时运行多个实例,可以考虑使用[ThreadedRepeat]属性。
  • 并发度
  • 并发度控制MbUnit最多能同时运行多少个测试。默认情况下,这个数值与你的CPU个数相同,最小值是2。
  • 默认超时时间(不兼容的修改)
  • 在MbUnit2和MbUnit3的早期版本中,每个测试套件的默认超时时间是10分钟,这个是不能更改的。现在我们可以为每个单独的测试用例配置超时时间,默认值还是10分钟。

  • Contact验证器(不兼容的修改)
  • Contract验证器可以简化对contract实现的正确性的测试。例如,它可以帮你测试自定义的异常类,验证自定义类型的Equals和GetHashCode方法是否一致,以及检查IList的不变性。这个特性最初出现在MbUnit3.0.4,并在3.0.5中得到了加强,Yann Trévin做了很多工作使它在3.0.6中更完善。我们现在使用一个只读字段来标示contract验证器,从而取代了过去使用的自定义属性。这使得代码更具有表达力,但是你必须要升级旧的测试代码。更详细的信息参考: Contract Verifiers Chapter in Gallio Book
  • Xml数据源
  • CSV数据源已经非常流行了。你可能还不知道,在CSV的数据行中可以关联元数据,只要添加一列并在该列的第一行写上[ExpectedException]、[Description]或者其他的元数据就行了。在3.0.6中我们还支持XML数据源。

Gallio也包含了一些改进,比较明显的是:

  • One-Click调试
  • 只要点一下“Debug”按钮,Icarus就可以在调试器中运行测试。它会将Visual Studio的调试器附在测试进程上,然后运行测试。
  • 自动加载和自动运行
  • 当测试被重新编译后,Icarus能够自动重新加载和运行所有已加载的测试。在3.0.6中,这个功能只能在设置中修改,在以后的版本中,我们可能会把它放在任务栏里,这样就可以根据需要方便的进行调整。
  • ReSharper集成
  • 添加对ReSharper4.5 beta的支持,添加对反射API的缓存以提高性能。

译者介绍:王瑜珩,ThoughtWorks咨询师,从事多年.NET开发,热衷于敏捷开发方法与相关实践。

你可能感兴趣的:(Galilo和MbUnit发布3.06版)