Size: a a a

JPoint, Java-конференция

2020 March 03

J🎩

JBaruch 🎩 in JPoint, Java-конференция
Alexei Vinogradov
При солидном количество "знающих" пока никто так и не написал, что же это такое (на всех каналах - никто). Но на SO уже годные мысли пошли.
контейнер это набор тестов и других контейнеров. В чем вообще вопрос?
источник

AV

Alexei Vinogradov in JPoint, Java-конференция
JBaruch 🎩
контейнер это набор тестов и других контейнеров. В чем вообще вопрос?
Может быть контейнер без тестов? Если в контейнере что-то (код) кроме теста и других контейнеров? Там в SO кто-то написал, что BeforeEach не в тесте, и не в контейнере.
источник

J🎩

JBaruch 🎩 in JPoint, Java-конференция
Alexei Vinogradov
Может быть контейнер без тестов? Если в контейнере что-то (код) кроме теста и других контейнеров? Там в SO кто-то написал, что BeforeEach не в тесте, и не в контейнере.
может, у него 2 factory methods, один принимает iterable нод, другой stream. И то, и другое может быть пустым, естественно.
источник

AV

Alexei Vinogradov in JPoint, Java-конференция
ого)
источник

AV

Alexei Vinogradov in JPoint, Java-конференция
JBaruch 🎩
может, у него 2 factory methods, один принимает iterable нод, другой stream. И то, и другое может быть пустым, естественно.
а ты это где читаешь, в javadoc?
источник

J🎩

JBaruch 🎩 in JPoint, Java-конференция
да
источник

AV

Alexei Vinogradov in JPoint, Java-конференция
О, а так можно было. А это правильно, что Jupiter как платформа разрешает самому ваять Engines (тест раннер?) которые будут сам определять, что такое контейнер? А стандартный Jupiter оборачивает весь run в глобальный контейнер.
источник

AV

Alexei Vinogradov in JPoint, Java-конференция
https://junit.org/junit5/docs/current/api/org.junit.jupiter.engine/org/junit/jupiter/engine/discovery/predicates/IsPotentialTestContainer.html

Забавное наименование, даже Егора вспомнил (не к месту).
Класс называется IsPotentialTestContainer, а единственным boolean методом там - test(Class c). Жёстко рвёт мои шаблоны.
источник

AV

Alexei Vinogradov in JPoint, Java-конференция
А блин, это ж предикат
источник

J🎩

JBaruch 🎩 in JPoint, Java-конференция
он
источник

AV

Alexei Vinogradov in JPoint, Java-конференция
Anatoliy Korovin
А ты про какие контейнеры?
Testcontainer+junit? Или dynamicContainer в junit5?
похоже то, про что в user guide написано "container" - это именно то, что определено как DynamicContainer в API.
источник

AV

Alexei Vinogradov in JPoint, Java-конференция
Еще немножко, и я сам почти пойму.
источник

J🎩

JBaruch 🎩 in JPoint, Java-конференция
Alexei Vinogradov
похоже то, про что в user guide написано "container" - это именно то, что определено как DynamicContainer в API.
да
источник

AV

Alexei Vinogradov in JPoint, Java-конференция
Пытаюсь как большой читать javadoc. Выходит, что DynamicContainer содержит 0..N DynamicNodes.
DynamicNode абстрактный и на сегодня - может быть только DynamicContainer или DynamicTest.
И вот что пишут про DynamicTest - Note that dynamic tests are quite different from standard @Test cases since callbacks such as @BeforeEach and @AfterEach methods are not executed for dynamic tests.

Теперь снова понимаю, что ни черта не понимаю.
источник

J🎩

JBaruch 🎩 in JPoint, Java-конференция
источник

J🎩

JBaruch 🎩 in JPoint, Java-конференция
в коде тесты создавать в рантайме
источник

AV

Alexei Vinogradov in JPoint, Java-конференция
JBaruch 🎩
в коде тесты создавать в рантайме
ну хорошо, а как тогда попадают в Container aka DynamicContainer нединамические @Test-ы?
источник

AV

Alexei Vinogradov in JPoint, Java-конференция
а они туда же попадают, причём в моём случае немного чаще, чем всегда.
источник

AV

Alexei Vinogradov in JPoint, Java-конференция
The standard tests annotated with @Test annotation are static tests which are fully specified at the compile time. A DynamicTest is a test generated during runtime. These tests are generated by a factory method annotated with the @TestFactory annotation.

Это ставит под сомнение гипотезу о том, что "container" - это только DynamicContainers, потому что статические тесты стопудово тоже в "контейнерах".

Блин, только мне стало казаться, что я уже созрел на "кажется я понял"....
источник

AV

Alexei Vinogradov in JPoint, Java-конференция
кто же эти образованные 225 человек, которые знают и могут объяснить, но не объясняют).....

Похоже кто-то на нетематическую группу расшарил - внезапно ответов про один JUnit5 уже больше чем про попсовый вопрос о девопсах.
источник