Scalaのspecs2でDataTablesにStringを使うときは!!を使う の続編です。
作者の方から
note that you can avoid the !! by using the Tables trait
とmentionを頂いていたのを @xuwei_k さんに教えて頂き、検証してみました。
確かに DataTables
-> Tables
とすれば、!!
じゃなくて !
でも実行できました!
例)
myspec.scala
class LangString2ClassSpec extends Specification with Tables {
"LangString2Class.map(lang) => class" should {
"str" | "class" |
"java" ! Java() |
"JAVA" ! Java() |
"objc" ! ObjectiveC() |
"objectivec" ! ObjectiveC() |
"python" ! Python() |
"RUby" ! Ruby() |
"JS" ! JavaScript() |
"JAVASCRIPT" ! JavaScript() |
"Graph" ! Graph() |
"SCALA" ! Scala() |
"table" ! models.modules.smc.Table() |>
{ (s, klass) =>
LangString2Class.map(s) must beSome(klass)
}
}
}
Sampleの型によって書き方を変えなくて良いので断然こちらの方が良いですね。
DataTablesは互換性のために残してあるのでしょうか。
今後は基本Tablesを使うようにしようかと思います。
教えて頂き本当にありがとうございました!