Я новичок в Scala. Исходя из Java, я использую для группировки/объединения моих тестовых классов в наборах (JUnit) в иерархическом вопросе (сюиты в наборах).ScalaTest эквивалент номеров JUnit's?
Я ищу альтернативу этому в ScalaTest.
Я новичок в Scala. Исходя из Java, я использую для группировки/объединения моих тестовых классов в наборах (JUnit) в иерархическом вопросе (сюиты в наборах).ScalaTest эквивалент номеров JUnit's?
Я ищу альтернативу этому в ScalaTest.
Любой люкс может содержать вложенные Suites. Они возвращаются из метода lifesyle inestedSuites. Вы можете использовать класс Suites, чтобы сделать это:
http://doc.scalatest.org/2.2.4/index.html#org.scalatest.Suites
Если вы хотите, чтобы отключить обнаружение вложенных сьютов, вы можете использовать @DoNotDiscover аннотацию:
http://doc.scalatest.org/2.2.4/index.html#org.scalatest.DoNotDiscover
Оба FunSpec
и FreeSpec
позволяют вложить столько, сколько захотите. Примеры из http://www.scalatest.org/user_guide/selecting_a_style:
import org.scalatest.FunSpec
class SetSpec extends FunSpec {
describe("A Set") {
describe("when empty") {
it("should have size 0") {
assert(Set.empty.size == 0)
}
it("should produce NoSuchElementException when head is invoked") {
intercept[NoSuchElementException] {
Set.empty.head
}
}
}
}
// just add more describe calls
}
и
import org.scalatest.FreeSpec
class SetSpec extends FreeSpec {
"A Set" - {
"when empty" - {
"should have size 0" in {
assert(Set.empty.size == 0)
}
"should produce NoSuchElementException when head is invoked" in {
intercept[NoSuchElementException] {
Set.empty.head
}
}
}
// add more - calls
}
// add more - calls
}
Алексей, я думаю, вопрос заключается в том, чтобы иметь разные спецификации, такие как «SetSpec» и «ListSpec», и иметь возможность создавать набор под названием «CollectionsSpec». – Eric
@ Эрик Да, но это единственный способ добиться гнездования с помощью JUnit (AFAIK). ScalaTest также позволяет использовать этот подход. –