Scalaのための「スペック」BDDフレームワークがどのように動作しますか?
質問
私はスカラ座で始めるんだ、と私は言語機能を思ったんだけど、あなたがこれを行うことができます:
"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"
}
}
}
これはからですケストレルのユニットテストます。
ここで何が起こっているの? "PersistentQueue" should
は、Scalaの文字列クラスは、「べき」メソッドで拡張されている、または何か他のものがここで起こっていることを意味していますか?私は、Scalaのドキュメントをざっと見ていたが、言語機能は、このコードサンプルで使用されているか見ることができませんでした。
解決
これは、私にはStringクラスに追加された暗黙的な方法のように見えます。 この投稿ではデモがあります。
所属していません StackOverflow