TLDR : Да
Правильный ответ, конечно, зависит от обстоятельств.
JUnit 5 был разработан для обеспечения возможности параллельного выполнения тестов. Весь механизм отчета о результатах тестирования (а также публикация записей отчета) осуществляется посредством распространения событий и не использует ни изменяемое состояние, ни синхронизацию событий или экземпляров базового ReportEntry
. Учитывая отсутствие сложных ошибок, testReporter.publishEntry(..)
должен быть потокобезопасным.
Вот «НО»: платформа JUnit 5 позволяет сторонним сторонам подключаться к прослушиванию событий, например, для генерации собственных отчетов или выполнения других действий. вещи, когда тесты начинаются, когда тесты заканчиваются или когда тест публикует некоторые дополнительные данные. Эти сторонние реализации TestExecutionListener
могут делать то, что хотят, и они могут не быть потокобезопасными.