2012-10-15 60 views

回答

5

有作爲

class EqualsTest extends FunSuite { 
    test("equals") { 
    assert(1 === 1) 
    assert(2 === 2, "The reason is obvious") 
    } 
} 

的使用注意事項三平等的,這給了更好的錯誤信息比「斷言」的方法,例如在測試失敗時雙等於。另外,如果測試失敗,則第二種情況提供要打印的提示。最好使用它來包含一些不明顯的數據值,例如如果使用循環進行測試,則循環計數。

然後有ShouldMatchers接近如

class EqualsTest extends FunSuite with ShouldMatchers { 
    test("equals") { 
    1 should be (1) 
    } 
} 

這通常是首選,因爲它很容易讀取。然而,學習使用它只是有點困難 - API中有一些缺陷和裂縫。你不能提出一個提示解釋。

0

ScalaTest的一大優點是它不會強迫你按照自己的方式去做 - 它允許你選擇最適合你的特定情況和偏好的方法。還有在你已經收到了其他答案的方法,有也(和我的個人喜好):

class EqualsTest extends FunSuite { 
    test("equals") { 
    expectResult(1) { 1 } 
    } 
} 

(注意:expectResultexpect在ScalaTest 1.x中)。