Machine.Specification - TDD的测试框架
MS-PL
Windows
.NET
软件简介
Machine.Specification 是一个 TDD 测试驱动开发的测试框架,简化了测试,无需关心语言本身特性。
Machine.Specifications
带来的好处是不需要在代码里有注释,但同时阅读代码的人可以一目了然这个测试是在什么样的context下,because of
怎样的一个操作,should生成什么样的结果.
Machine.Specification还有一个不错的功能就是支持Behavior. 比方说, 你有好几个测试都需要测一些共同的功能,
这时你可以把这些共同的功能提出来放到Behavior中, 注意尖括号里面的内容是下面有[Behaviors]属性类的名称.
测试示例代码:
[Subject(typeof(HomeController))]
public class When_getting_index_page
{
static HomeController controller;
static ViewResult result;
static ViewDataDictionary viewData;
Establish context =
() =>
{
controller = new HomeController();
result = controller.Index() as ViewResult;
};
Because of =
() => viewData = result.ViewData;
It should_have_the_welcome_message =
() => viewData["Message"].ShouldEqual("Welcome to ASP.MET MVC!");
}