Код, отмеченный @Before
, выполняется перед каждым тестом, а @BeforeClass
запускается один раз перед всем тестовым прибором. Если ваш тестовый класс имеет десять тестов, код @Before
будет выполняться десять раз, но @BeforeClass
будет выполняться только один раз.
В общем случае вы используете @BeforeClass
, когда несколько тестов должны делиться такой же дорогостоящий установочный код. Установление соединения с базой данных относится к этой категории. Вы можете переместить код с @BeforeClass
в @Before
, но ваш тестовый прогон может занять больше времени. Обратите внимание, что код, помеченный @BeforeClass
, запускается как статический инициализатор, поэтому он запускается до создания экземпляра класса вашего тестового устройства.
В JUnit 5 теги @BeforeEach
и @BeforeAll
являются эквивалентами @Before
и @BeforeClass
в JUnit 4. Их имена немного более показательны, когда они бегают, слабо интерпретируются: «перед каждым тестом» и «один раз перед всеми тестами».
Ваш массив содержит объекты, но вы хотите искать по id
, который является свойством этих объектов. Вы должны использовать filter
:
console.log(this.list.find(el => el.id === id))