Scala specs: гнездо в заявлениях - PullRequest
1 голос
/ 09 октября 2010

возможно ли вложить следующий тестовый код спецификации

"ClassX" should {
  "throw an IllegalArgumentException if n < 0" in {
    ClassX(-1) must throwA[IllegalArgumentException]
  }
  "throw an IllegalArgumentException if n > 50" in {
    ClassX(51) must throwA[IllegalArgumentException]
  }
  "throw an IllegalArgumentException if n == 35" in {
    ClassX(35) must throwA[IllegalArgumentException]
  }
}

в другой оператор In-Statement, например:

"ClassX" should {
  "throw an IllegalArgumentException if" in {
    "n < 0" in {
      ClassX(-1) must throwA[IllegalArgumentException]
    }
    "n > 50" in  {
      ClassX(51) must throwA[IllegalArgumentException]
    }
    "n == 35" in  {
      ClassX(35) must throwA[IllegalArgumentException]
    }
  }
}

Поскольку его легче читать и писать

Ответы [ 2 ]

2 голосов
/ 09 октября 2010

Да.См. http://code.google.com/p/specs/wiki/DeclareSpecifications для обзора всех способов структурирования спецификаций спецификаций.

0 голосов
/ 06 ноября 2013

Я предпочитаю такой код:

 "My Component" >> {
   " some general function" can {
     "do stuff that I like" in {
       //…
     }
     "do stuff others like" in {
       //…
     }
   }
 }

но, как вы могли заметить, существует множество способов сделать это.

...