測試命名和佈局標準
測試類的命名:
對應被測試項目中的一個類,創建一個名爲[ClassName]Tests的類。工作單元的命名:
對每個工作單元(測試),測試方法的方法名由三部分組成,並且按照如下規則命名:[被測試的方法名][測試進行的假設條件][對測試方法的預期]。
具體來說:
- 被測試的方法名
- 測試進行的假設條件,例如“登入失敗”、“無效用戶”、“密碼正確”。
- 對測試方法的預期:在測試場景指定的條件下,我們對被測試方法的行爲的預期。
其中,對測試方法的預期會有三種可能的結果:
- 返回一個值(數值、布爾值等等)。
- 改變被測試的系統的一個狀態。
- 調用一個第三方系統。
可以看出,我們的測試代碼在格式上與標準的代碼有所不同,測試名可以很長,但是在編寫測試代碼時,可讀性是最爲重要的方面之一,而測試名中的下劃線可以令我們不會遺漏所有的重要信息,我們甚至可以將測試方法名當做一個句子來讀,這樣就會使得這個測試方法的測試目標、場景以及預期都十分明確,無需額外的註釋。
測試單元的行爲——3A原則
- Arrange,準備對象,創建對象並進行必要的設置。
- Act,操作對象。
- Assert,斷言某件事情是預期的。