ScalaTest 相当于 JUnit 的套件?
ScalaTest's equivalent of JUnit's suites?
我是 Scala 新手。来自 Java,我习惯于 group/bundle 我的测试 类 在 (JUnit) 套件中,在分层问题中(套件中的套件)。
我正在寻找 ScalaTest 中的替代方法。
两个FunSpec
and FreeSpec
allow nesting as much as you want. Examples from 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
}
任何套件都可以包含嵌套套件。这些是从 nestedSuites 生命周期方法返回的。您可以使用套件 class 来执行此操作:
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
我是 Scala 新手。来自 Java,我习惯于 group/bundle 我的测试 类 在 (JUnit) 套件中,在分层问题中(套件中的套件)。
我正在寻找 ScalaTest 中的替代方法。
两个FunSpec
and FreeSpec
allow nesting as much as you want. Examples from 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
}
任何套件都可以包含嵌套套件。这些是从 nestedSuites 生命周期方法返回的。您可以使用套件 class 来执行此操作:
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