У меня есть несколько тестов JUnit, в которых используется TemporaryFolder
@Rule
. Они используют TemporaryFolder
в методе @Before
для выполнения некоторых настроек:
@Rule
public TemporaryFolder folder = new TemporaryFolder();
@Before
public void init() {
folder.newFile("my-file.txt");
}
@Test
public void myTest() { ... }
В большинстве случаев это работает идеально.Однако при использовании SpringJUnit4ClassRunner
я обнаружил, что в некоторых случаях метод init ()
вызывается перед оператором
внутри моего экземпляра TemporaryFolder
применены. Из-за этого местоположение временной папки не задано (например: null
), когда папка
используется в init ()
, и мой файл оказывается в рабочем каталоге. , а не / tmp
.
Таким образом, в некоторых случаях методы @Before
выполняются раньше правил, однако я не могу установить определенный шаблон. Иногда я вижу аналогичную проблему с некоторыми из моих собственных реализаций правил.
Могу ли я убедиться, что мои правила применяются перед любыми методами настройки?