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!");
}