我是Scala的新手。来自Java,我习惯于在(JUnit)套件中对我的测试类进行分组/捆绑,这是一个分层的事情(套件内的套件)。
我在ScalaTest中寻找替代方案。
答案 0 :(得分:2)
任何套件都可以包含嵌套套件。这些是从nestedSuites lifecyle方法返回的。您可以使用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
答案 1 :(得分:0)
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
}