ScalaTest: методы setup / tearDown только для выбранных тестов - PullRequest
0 голосов
/ 11 марта 2020

Я знаю, что есть черта BeforeAndAfter, которая позволяет нам выполнять операции настройки и завершения до и после каждого теста набора.

Есть ли альтернатива, которая либо выполняется только до и после набора или работает для выбранных тестов?

1 Ответ

1 голос
/ 11 марта 2020

В отношении до и после определенного теста рассмотрим шаблон займа

import org.scalactic.Equality
import org.scalatest.flatspec.AnyFlatSpec
import org.scalatest.matchers.should.Matchers

class LoanPatternExampleSpec extends AnyFlatSpec with Matchers {
  def life(testFun: Int => Any): Unit = {
    println("Doing stuff before the test")
    val meaningOfLife = 42
    testFun(meaningOfLife)
    println("Doing stuff after the test")
  }

  "User" should "do things" in life { i =>
    println(s"My fixture says meaning of life is $i")
    assert(true)
  }
}

, который выдает

sbt:scalatest-seed> testOnly example.LoanPatternExampleSpec
Doing stuff before the test
My fixture says meaning of life is 42
Doing stuff after the test
[info] LoanPatternExampleSpec:
[info] User
[info] - should do things
[info] Run completed in 314 milliseconds.
[info] Total number of tests run: 1
[info] Suites: completed 1, aborted 0
[info] Tests: succeeded 1, failed 0, canceled 0, ignored 0, pending 0
[info] All tests passed.

BeforeAndAfterAll, имеет переопределения для методы, выполняемые один раз до и после набора.

...