Machine.SpecificationTDD 的測試框架
Machine.Specification 是一個 TDD 測試驅(qū)動開發(fā)的測試框架,簡化了測試,無需關(guān)心語言本身特性。
Machine.Specifications 帶來的好處是不需要在代碼里有注釋,但同時閱讀代碼的人可以一目了然這個測試是在什么樣的context下,because of 怎樣的一個操作,should生成什么樣的結(jié)果.
Machine.Specification還有一個不錯的功能就是支持Behavior. 比方說, 你有好幾個測試都需要測一些共同的功能, 這時你可以把這些共同的功能提出來放到Behavior中, 注意尖括號里面的內(nèi)容是下面有[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!");
}
評論
圖片
表情
