Аннотация @BeforeClass определяет метод, который должен выполняться перед любыми тестовыми примерами, содержащимися в этом модуле реализации. В этом особом случае этот тестовый класс содержит некоторую инициализацию потокового ресурса, который требуется выполнять в фоновом режиме во время тестов.
JUnit определяет четыре события жизненного цикла:
- @ BeforeClass: перед выполнением любого другого теста из класса.
- @ Before: выполняется непосредственно перед запуском ОДНОГО теста, он вызывается ровно один раз для любого аннотированного метода @Test.
- @ Test: сам тест, в вашем приложении может быть несколько методов, аннотированных таким образом.
- @ После: после выполнения теста, независимо от ошибки или сбоя. Будет несколько исполнений, по одному для любого аннотированного метода @Test.
- @ AfterClass: после выполнения любого теста этого класса,
В моих приложениях я обычно выполняю дорогостоящие инициализации, используя аннотированный метод @BeforeClass, тогда как действительно дорогие даже выполняются только один раз для полного набора тестов в целом. Но это «событие» основано на некоторых взломах, которые ускоряют мои разработки.