Использование JUnit @Rule с ScalaTest (например, TemporaryFolder)
Я хотел бы иметь возможность использовать правила JUnit, такие какTemporaryFolder
или другойTestRule
s мы уже разработали собственными силами. Каков наилучший метод для достижения этой цели? Я знаю о JUnitSuite, но, похоже, он не@Rule
аннотаций. В любом случае, я бы хотел использовать другой набор ScalaTest.
Итак, мои вопросы:
Поддерживаются ли правила JUnit костюмом ScalaTest?Если нет, то есть ли библиотека, которая бы использовала Junit?TestRule
возможно?Если нет, то как использовать JUnitTestRule
в тестах Scala?Или есть более подходящий Scala-специфический подход дляTemporaryFolder
или, например, Стефана БиркнераСистемные правила предоставлять?Вот что я пробовалJUnitSuite
:
class MyTest extends JUnitSuite {
//@Rule
//val temporaryFolder = new TemporaryFolder() // throws java.lang.Exception: The @Rule 'temporaryFolder' must be public.
@Rule
def temporaryFolder = new TemporaryFolder()
@Test
def test: Unit = {
assert(temporaryFolder.newFile() !== null) // java.lang.IllegalStateException: the temporary folder has not yet been created
}
}