[Ruby]單元測試
1. Test::Unit框架
Test::Unit框架基本上是將3個功能包裝到一個整潔的包中:
1) 它提供了一種表示單個測試的方式。
2) 它提供了一個框架來組織測試。
3) 它提供了靈活的方式來調用測試。
Test::Unit提供一系列斷言來達到與if語句相同的目標,雖然存在許多不同風格的斷言,但是它們基本上都遵循相同的模式,例如:
require 'test/unit' |
還可以測試是否引發異常,例如:
require 'test/unit' |
2. 組織測試
單元測試,可以被組織成更高層的形式,叫做測試用例,或分解成較底層的形式,也就是測試方法。測試用例通常包括和某個特定功能或特性相關的所有測試。
表示測試的類必須是Test::Unit::TestCase的子類。含有斷言的方法名必須以test開頭。Test::Unit使用反射來查找要運行的測試,而只有以test開頭的方法才符合條件。
可以把通用的一些代碼提取到setup和teardown方法中。在一個TestCase類中,一個叫做setup的方法將在每個測試方法之前運行,而叫做teardown的方法在每個測試方法結束之后運行,例如:
require 'test/unit' |