Tôi chỉ bắt đầu với Scala, và tôi tự hỏi mà tính năng ngôn ngữ cho phép bạn làm điều này:Cơ chế "BDD" cho Scala hoạt động như thế nào?
"PersistentQueue" should {
"add and remove one item" in {
withTempFolder {
val q = new PersistentQueue(folderName, "work", Config.fromMap(Map.empty))
q.setup
q.length mustEqual 0
q.totalItems mustEqual 0
q.bytes mustEqual 0
q.journalSize mustEqual 0
q.add("hello kitty".getBytes)
q.length mustEqual 1
q.totalItems mustEqual 1
q.bytes mustEqual 11
q.journalSize mustEqual 32
new String(q.remove.get.data) mustEqual "hello kitty"
q.length mustEqual 0
q.totalItems mustEqual 1
q.bytes mustEqual 0
q.journalSize mustEqual 33
q.close
dumpJournal("work") mustEqual "add(11:0:hello kitty), remove"
}
}
}
Đó là từ unit tests for Kestrel.
Điều gì đang xảy ra ở đây? Có phải "PersistentQueue" should
có nghĩa là lớp chuỗi Scala đã được mở rộng bằng một phương thức "nên", hay là cái gì khác đang xảy ra ở đây? Tôi đã xem qua tài liệu của Scala nhưng không thể xem các tính năng ngôn ngữ nào đang được sử dụng cho mẫu mã này.