Machine.SpecificationTDD 的測(cè)試框架
Machine.Specification 是一個(gè) TDD 測(cè)試驅(qū)動(dòng)開(kāi)發(fā)的測(cè)試框架,簡(jiǎn)化了測(cè)試,無(wú)需關(guān)心語(yǔ)言本身特性。
Machine.Specifications 帶來(lái)的好處是不需要在代碼里有注釋?zhuān)瑫r(shí)閱讀代碼的人可以一目了然這個(gè)測(cè)試是在什么樣的context下,because of 怎樣的一個(gè)操作,should生成什么樣的結(jié)果.
Machine.Specification還有一個(gè)不錯(cuò)的功能就是支持Behavior. 比方說(shuō), 你有好幾個(gè)測(cè)試都需要測(cè)一些共同的功能, 這時(shí)你可以把這些共同的功能提出來(lái)放到Behavior中, 注意尖括號(hào)里面的內(nèi)容是下面有[Behaviors]屬性類(lèi)的名稱(chēng).
測(cè)試示例代碼:
[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!");
}
評(píng)論
圖片
表情
