Bezdepbonusu7Программирование: статьи и ответы

Вопрос

Как получить контекст запущенных тестов в scala-test? Есть ли что-то вроде ITestContext, как в TestNG, для получения этой информации?

Автор вопроса: SarathОтветов: 2

Я хочу знать список запущенных тестовых случаев и манипулировать этой информацией. В TestNG реализация методов onFinish, onStart и т. д. для ITestListener дает ITestContext для получения этой информации. Есть ли что-то подобное в scala-test. Предложения высоко ценятся. Заранее спасибо.

automated-testsscalasbtscalatesttestng

Ответы

Ответ 1 · рейтинг 1 · avik

Ответ Скай на самом деле смотрит в правильном направлении. Смешивание черт ScalaTest BeforeAndAfterAll дает вам доступ к некоторой контекстуальной информации о пакете. , такие как:

  • Название люкса
  • Количество тестов в наборе
  • Названия тестов в наборе
  • Информация тега для набора

Информация, которую вы получаете, возможно, не так богата, как контекстуальная информация, которую вы получаете от TestNG (например, этот трейт не сможет сказать вам, какие тесты пройдены/не пройдены в afterAll). Однако, возможно, информация, которую он вам дает, достаточно хороша для ваших целей:

class MyTest extends FunSuite with BeforeAndAfterAll {

    override def beforeAll() {

        // suiteName will give you the name of the suite
        info(suiteName)

        // testNames will give you the names of your tests
        testNames forEach info(_)

        // tags will give you a mapping of test names to tags
        tags.keys.forEach(t =>
            info(t + " tagged with tags " + tags(t).mkString(",")))
    }

    ...
}

Ответ 2 · Sky

Да,

У Scalatest есть черта BeforeAndAfter, которая имеет:

before{
//write code here(run before each test cases in a test file )
}

after{
// write code here(run after each test cases in a test file )
}

и другая черта BeforeAndAfterAll, которая имеет:

override def afterAll: Unit = {
  //write code here(run after all test cases in a test file )
}

override def beforeAll: Unit = {
//write code here(run before all test cases in a test file )
}

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы