ScalaTest';s相当于JUnit';s套房?

ScalaTest';s相当于JUnit';s套房?,scala,testing,scalatest,Scala,Testing,Scalatest,我是斯卡拉的新手。来自Java,我习惯于将我的测试类分组/捆绑在(JUnit)套件中,以分层的方式(套件中的套件) 我正在ScalaTest中寻找替代方案。两者都可以,并且可以根据需要进行嵌套。例如: 及 任何套件都可以包含嵌套套件。这些是从nestedSuites生命周期方法返回的。可以使用Suites类执行以下操作: 如果要禁用嵌套套件的查找,可以使用@DoNotDiscover注释: Alexey,我认为问题在于拥有不同的规范,比如SetSpec和ListSpec,并且能够创建一个名为c

我是斯卡拉的新手。来自Java,我习惯于将我的测试类分组/捆绑在(JUnit)套件中,以分层的方式(套件中的套件)

我正在ScalaTest中寻找替代方案。

两者都可以,并且可以根据需要进行嵌套。例如:


任何套件都可以包含嵌套套件。这些是从nestedSuites生命周期方法返回的。可以使用Suites类执行以下操作:

如果要禁用嵌套套件的查找,可以使用@DoNotDiscover注释:


Alexey,我认为问题在于拥有不同的规范,比如
SetSpec
ListSpec
,并且能够创建一个名为
collectionspec
@Eric的套件是的,但这是实现JUnit嵌套的唯一方法(AFAIK)。ScalaTest也允许这种方法。
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
}