Время от времени я сталкиваюсь с ситуацией, когда мне нужно быть абсолютно уверенным, что один тест выполняется (успешно) раньше другого.
Например:
"The SecurityManager" should {
"make sure an administrative user exists" in new WithApplication with GPAuthenticationTestUtility {
checkPrerequisiteAccounts(prerequisiteAccounts)
}
"get an account id from a token" in new WithApplication with GPAuthenticationTestUtility {
val token = authenticate(prerequisiteAccounts.head)
token.isSuccess must beTrue
myId = GPSecurityController.getAccountId(token.get)
myId != None must beTrue
myId.get.toInt > 0 must beTrue
}
Первый тест создаст пользователя-администратора, если он не существует. Второй тест использует эту учетную запись для выполнения теста.
Я знаю, что могу провести лечение до/после в spec2 (хотя я никогда этого не делал). Но я действительно не хочу, чтобы checkPrerequisiteAccounts
запускался перед каждым тестом, непосредственно перед выполнением первого теста... что-то вроде "прежде чем вы начнете что-либо делать, сделайте вот это..."
Кто-нибудь знает, есть ли способ пометить конкретный тест как «сделать первым» или «сделать прежде всего?»