Machine.SpecificationTDD 的测试框架

联合创作 · 2023-10-01 18:28

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!");
}
浏览 7
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报