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

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


person Sarath    schedule 18.02.2014    source источник


Ответы (2)


Ответ Скай на самом деле смотрит в правильном направлении. Смешивание черт 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(",")))
    }

    ...
}
person avik    schedule 22.02.2014

Да,

У 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 )
}
person Sky    schedule 18.02.2014
comment
Я думаю, вы не правильно поняли вопрос. Я хочу получить контекст текущего набора тестов, когда я запускаю любой тестовый метод в scala-test. Насколько я знаю, BeforeAndAfter не дает никакой информации о текущих тестовых примерах. Поправьте меня, если я ошибаюсь. - person Sarath; 19.02.2014
comment
Да ты прав. Я думаю, что в scalatest нет контекста, но я не уверен. - person Sky; 19.02.2014
comment
Это же я тоже думаю. Спасибо за ваш ответ. - person Sarath; 20.02.2014