我想在scalatest中使用類似於jUnit的assertEquals
的東西。assertEquals in scalatest
該框架是否實現它或它只提供assert
,我應該從jUnit本身使用assertEquals
?
我想在scalatest中使用類似於jUnit的assertEquals
的東西。assertEquals in scalatest
該框架是否實現它或它只提供assert
,我應該從jUnit本身使用assertEquals
?
有作爲
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中有一些缺陷和裂縫。你不能提出一個提示解釋。
ScalaTest的一大優點是它不會強迫你按照自己的方式去做 - 它允許你選擇最適合你的特定情況和偏好的方法。還有在你已經收到了其他答案的方法,有也(和我的個人喜好):
class EqualsTest extends FunSuite {
test("equals") {
expectResult(1) { 1 }
}
}
(注意:expectResult
是expect
在ScalaTest 1.x中)。