스칼라를위한“사양”BDD 프레임 워크는 어떻게 작동합니까?

StackOverflow https://stackoverflow.com/questions/590002

  •  09-09-2019
  •  | 
  •  

문제

나는 단지 스칼라를 시작하고 있는데 어떤 언어 기능이 당신이 이것을 할 수 있는지 궁금합니다.

"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"
    }
  }
}

그게에서 왔어요 Kestrel에 대한 단위 테스트.

여기서 무슨 일이야? 하다 "PersistentQueue" should Scala String 클래스가 "해야 할"방법으로 확장되었거나 여기서 일어나는 일이 있습니까? 스칼라 문서를 간단히 살펴 보았지만이 코드 샘플에 어떤 언어 기능이 사용되는지 알 수 없었습니다.

도움이 되었습니까?

해결책

스트링 클래스에 암시 적 방법이 추가되는 것처럼 보입니다. 이 게시물 데모가 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top