Machine.SpecificationTDD 的测试框架
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!"); }
评论