Scala 2.10 có hỗ trợ thử nghiệm cho các macro cũng giống như việc tạo mã thời gian biên dịch phức tạp. Xem here để biết thêm chi tiết.
Có một số ví dụ thú vị về kho lưu trữ macrocosm của Jason Zaugg, và thư viện SLICK là một sự tiến hóa của ScalaQuery SQL DSL cho phép truy vấn cơ sở dữ liệu an toàn kiểu (và bộ sưu tập) được thể hiện theo cách LINQ.
Và ví dụ này, từ thư viện expecty khẳng định:
import org.expecty.Expecty
case class Person(name: String = "Fred", age: Int = 42) {
def say(words: String*) = words.mkString(" ")
}
val person = Person()
val expect = new Expecty()
...
val word1 = "ping"
val word2 = "pong"
expect {
person.say(word1, word2) == "pong pong"
}
yielding:
java.lang.AssertionError:
person.say(word1, word2) == "pong pong"
| | | | |
| | ping pong false
| ping pong
Person(Fred,42)
Nguồn
2012-07-09 18:17:34
Vâng, đó là có thể. Tôi khá chắc chắn có plugin làm điều đó. Bạn đã xem danh sách các plugin hiện tại chưa? –