一個便利地特性,GenericTest類型將捕獲定位到標準輸出地任何事情,在結果文件中提供一個運行日志。不幸的是,這看上去像是一個捕獲的問題,在那提取一些信息將導致測試驅動進程掛起。但是大部分測試程序在幾秒中內不會抽空輸出結果中的100行。
創建單元測試
當提到測試,Visual Studio真正的魔力就是當你在編輯器里右擊一個方法時,它可以奇妙的創建你得到的單元測試選項。這個特性非常好,可以很容易的快速添加單元測試。但是,我遇到了一個小的哲學問題,它讓你創建可以直接進入類并且訪問私有方法的單元測試。
針對允許測試工具直接調用私有的或受保護的方法的爭論就是它減化了測試(只寫很少的代碼),并且幫助擴寬了代碼覆蓋。這些爭論是很誘人的,但是我同意這個觀點,就是認為單元測試應該僅僅通過公共接口出現。單元測試是代碼的首次使用,你想朝著其他的怎么使用它的方向來調整測試。如果有一些私有方法,這些方法你在沒有short circuiting和直接的調用它們的情況下不能充分的測試,我必須知道是否代碼需要被注冊。為了阻止偶然的創建一個直接調用私有方法的單元測試,找到創建單元測試對話框,在右上角點擊過濾,然后清空顯示非公共項目。
我決不是一個絕對論者。我確定有一些示例,在示例里面它將幫助調用私有方法。但是,僅因為工具允許你做一些事情并不意味著你將依賴它。單元測試是測試的第一階段,它也是你開始white box測試的第一個位置。
使用NUnit