Scala Language
Тестирование с помощью ScalaTest
Поиск…
Hello World Spec Test
Создайте класс тестирования в каталоге src/test/scala
в файле HelloWorldSpec.scala
. Поместите это в файл:
import org.scalatest.{FlatSpec, Matchers}
class HelloWorldSpec extends FlatSpec with Matchers {
"Hello World" should "not be an empty String" in {
val helloWorld = "Hello World"
helloWorld should not be ("")
}
}
- В этом примере используются
FlatSpec
иMatchers
, которые являются частью библиотеки ScalaTest. -
FlatSpec
позволяет тестировать тесты в стиле Behavior-Driven Development (BDD) . В этом стиле предложение используется для описания ожидаемого поведения данной единицы кода. Тест подтверждает, что код придерживается такого поведения. Дополнительную информацию см. В документации .
Технический тест Cheatsheet
Настроить
Приведенные ниже тесты используют эти значения для примеров.
val helloWorld = "Hello World"
val helloWorldCount = 1
val helloWorldList = List("Hello World", "Bonjour Le Monde")
def sayHello = throw new IllegalStateException("Hello World Exception")
Проверка типа
Чтобы проверить тип для заданного значения val
:
helloWorld shouldBe a [String]
Обратите внимание, что скобки здесь используются для получения типа String
.
Равная проверка
Чтобы проверить равенство:
helloWorld shouldEqual "Hello World"
helloWorld should === ("Hello World")
helloWorldCount shouldEqual 1
helloWorldCount shouldBe 1
helloWorldList shouldEqual List("Hello World", "Bonjour Le Monde")
helloWorldList === List("Hello World", "Bonjour Le Monde")
Неравная проверка
Чтобы проверить неравенство:
helloWorld should not equal "Hello"
helloWorld !== "Hello"
helloWorldCount should not be 5
helloWorldList should not equal List("Hello World")
helloWorldList !== List("Hello World")
helloWorldList should not be empty
Проверка длины
Чтобы проверить длину и / или размер:
helloWorld should have length 11
helloWorldList should have size 2
Проверка исключений
Чтобы проверить тип и сообщение исключения:
val exception = the [java.lang.IllegalStateException] thrownBy {
sayHello
}
exception.getClass shouldEqual classOf[java.lang.IllegalStateException]
exception.getMessage should include ("Hello World")
Включите библиотеку ScalaTest с SBT
Используя SBT для управления зависимостью библиотеки , добавьте это в build.sbt
:
libraryDependencies += "org.scalactic" %% "scalactic" % "3.0.0"
libraryDependencies += "org.scalatest" %% "scalatest" % "3.0.0" % "test"
Более подробную информацию можно найти на сайте ScalaTest .
Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow