Migrate tests from JUnit 4 to JUnit 5 (parent 4.4)#295
Merged
Conversation
The parent (4.4) now provides junit-jupiter instead of junit:junit, which also dropped the transitive hamcrest dependency. Migrate all tests: - imports/annotations: org.junit.* -> org.junit.jupiter.api.* (@Before/@After/@BeforeClass/@AfterClass/@ignore -> JUnit 5 equivalents, Assert -> Assertions) - move assertion messages from first to last argument (JUnit 5 ordering) - @test(expected=...) -> assertThrows; drop unused @RunWith(MockitoJUnitRunner) - rewrite hamcrest assertThat/matchers to plain JUnit 5 assertions - remove obsolete junit:junit dependency from moskito-webui Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
There was a problem hiding this comment.
Pull request overview
Updates the project parent to net.anotheria:parent:4.4 and migrates the entire test suite from JUnit 4/Hamcrest to JUnit 5 (Jupiter), aligning test annotations and assertions with the new dependency set provided by the parent.
Changes:
- Bump parent POM from 4.3 → 4.4.
- Migrate tests from JUnit 4 → JUnit 5 (
org.junit.*→org.junit.jupiter.*,@Ignore→@Disabled,@BeforeClass/@AfterClass→@BeforeAll/@AfterAll, etc.). - Remove explicit
junit:junittest dependency frommoskito-webui(and rewrite Hamcrest assertions to JUnit 5 assertions).
Reviewed changes
Copilot reviewed 104 out of 104 changed files in this pull request and generated 5 comments.
Show a summary per file
| File | Description |
|---|---|
| pom.xml | Bumps parent version to 4.4 to use JUnit Jupiter provided by the parent. |
| moskito-webui/pom.xml | Removes explicit JUnit 4 dependency now that parent provides Jupiter. |
| moskito-webui/src/test/java/net/anotheria/moskito/webui/util/DeepLinkUtilTest.java | Migrates test lifecycle annotations and assertions to JUnit 5. |
| moskito-webui/src/test/java/net/anotheria/moskito/webui/threshold/api/ThresholdAPITest.java | Migrates JUnit 4 annotations/assertions to JUnit 5 (@Disabled, @BeforeEach/@AfterEach). |
| moskito-webui/src/test/java/net/anotheria/moskito/webui/shared/bean/DoubleValueBeanTest.java | Migrates @Ignore to @Disabled and switches to Jupiter assertions. |
| moskito-webui/src/test/java/net/anotheria/moskito/webui/shared/api/filter/MatchersTest.java | Migrates to Jupiter @Test and assertions. |
| moskito-webui/src/test/java/net/anotheria/moskito/webui/producers/api/ProducerAPITest.java | Migrates setup/teardown and assertions to JUnit 5. |
| moskito-webui/src/test/java/net/anotheria/moskito/webui/dashboards/getDashboardTest.java | Migrates class and per-test lifecycle annotations to JUnit 5. |
| moskito-webui/src/test/java/net/anotheria/moskito/webui/dashboards/DashboardsAPITest.java | Migrates @BeforeClass/@Before to @BeforeAll/@BeforeEach and assertions. |
| moskito-webui/src/test/java/net/anotheria/moskito/webui/accumulators/api/GetAccumulatorGraphDataTest.java | Migrates lifecycle annotations and assertion message ordering to JUnit 5. |
| moskito-webui/src/test/java/net/anotheria/moskito/webui/accumulators/api/AccumulatorAPITest.java | Migrates ignore/expected-exception patterns and assertion message ordering to JUnit 5. |
| moskito-webui/src/test/java/net/anotheria/moskito/webui/accumulators/action/TestAccumulatorNormalization.java | Migrates JUnit 4 assertions to Jupiter equivalents. |
| moskito-web/src/test/java/net/anotheria/moskito/web/session/SessionCountProducerTest.java | Migrates to Jupiter @Test and assertions. |
| moskito-web/src/test/java/net/anotheria/moskito/web/session/SessionCountProducerIntervalTest.java | Migrates to Jupiter @Test and assertions. |
| moskito-web/src/test/java/net/anotheria/moskito/web/MoskitoHttpServletTest.java | Migrates lifecycle annotations and assertions to JUnit 5; removes JUnit 4 runner usage. |
| moskito-web/src/test/java/net/anotheria/moskito/web/MoskitoFilterTest.java | Migrates to Jupiter assertions. |
| moskito-web/src/test/java/net/anotheria/moskito/web/filters/UserAgentFilterTest.java | Migrates setup and assertions to JUnit 5. |
| moskito-web/src/test/java/net/anotheria/moskito/web/filters/MethodFilterTest.java | Migrates setup and assertions to JUnit 5. |
| moskito-web/src/test/java/net/anotheria/moskito/web/filters/JSTalkBackFilterTest.java | Migrates setup and assertions (incl. message ordering) to JUnit 5. |
| moskito-web/src/test/java/net/anotheria/moskito/web/filters/DomainFilterTest.java | Migrates setup and assertions to JUnit 5. |
| moskito-integration/moskito-sql/src/test/java/net/anotheria/moskito/sql/callingAspect/InterceptTest.java | Migrates lifecycle and assertions to JUnit 5 (@Disabled, @BeforeEach/@AfterEach). |
| moskito-integration/moskito-sql/src/test/java/net/anotheria/moskito/sql/callingAspect/ConnectionCallAspectTest.java | Migrates setup and assertions to JUnit 5. |
| moskito-integration/moskito-ehcache/src/test/java/net/anotheria/moskito/integration/ehcache/MonitoredEhcacheTest.java | Migrates lifecycle annotations and disables unstable test via @Disabled. |
| moskito-extensions/moskito-notification-providers/src/test/java/notificationtemplate/MailTemplateTest.java | Migrates to Jupiter @Test and updates disabled-comment marker. |
| moskito-extensions/moskito-notification-providers/src/test/java/net/anotheria/moskito/extensions/notificationproviders/ManualTestEmailProviderTest.java | Migrates @Ignore to @Disabled. |
| moskito-extensions/moskito-monitoring-plugin/src/test/java/net/anotheria/moskito/extensions/monitoring/PluginTypeRegistryTest.java | Migrates assertions and imports to JUnit 5. |
| moskito-extensions/moskito-monitoring-plugin/src/test/java/net/anotheria/moskito/extensions/monitoring/parser/StatusDataTest.java | Migrates assertions to JUnit 5. |
| moskito-extensions/moskito-monitoring-plugin/src/test/java/net/anotheria/moskito/extensions/monitoring/parser/NginxStubStatusParserTest.java | Migrates assertions to JUnit 5. |
| moskito-extensions/moskito-monitoring-plugin/src/test/java/net/anotheria/moskito/extensions/monitoring/parser/ApacheStatusParserTest.java | Migrates assertions to JUnit 5. |
| moskito-extensions/moskito-monitoring-plugin/src/test/java/net/anotheria/moskito/extensions/monitoring/metric/NginxMetricsTest.java | Migrates assertions to JUnit 5. |
| moskito-extensions/moskito-monitoring-plugin/src/test/java/net/anotheria/moskito/extensions/monitoring/metric/GenericMetricsTest.java | Migrates assertions to JUnit 5. |
| moskito-extensions/moskito-monitoring-plugin/src/test/java/net/anotheria/moskito/extensions/monitoring/metric/ApacheMetricsTest.java | Migrates assertions to JUnit 5. |
| moskito-extensions/moskito-monitoring-plugin/src/test/java/net/anotheria/moskito/core/stats/impl/SkipFirstDiffLongValueHolderTest.java | Migrates ignore reason to @Disabled and assertions to Jupiter. |
| moskito-extensions/moskito-mongodb/src/main/test/java/net/anotheria/moskito/extension/mongodb/MongodbMonitorTest.java | Migrates lifecycle and assertions to JUnit 5. |
| moskito-extensions/moskito-additional-producers/src/test/java/net/anotheria/moskito/extensions/producers/RollingOnDemandStatsProducerTest.java | Migrates assertions to JUnit 5 and message ordering. |
| moskito-core/src/test/java/net/anotheria/moskito/core/util/threadhistory/ThreadHistoryUtilityTest.java | Migrates @Ignore to @Disabled and lifecycle to JUnit 5. |
| moskito-core/src/test/java/net/anotheria/moskito/core/util/storage/StorageTest.java | Migrates assertions to JUnit 5 (message argument order). |
| moskito-core/src/test/java/net/anotheria/moskito/core/util/session/SessionCountStatsTest.java | Migrates assertions to Jupiter. |
| moskito-core/src/test/java/net/anotheria/moskito/core/util/MBeanUtilTest.java | Migrates assertions to Jupiter. |
| moskito-core/src/test/java/net/anotheria/moskito/core/util/annotation/AnnotationUtilsTest.java | Replaces Hamcrest assertions with Jupiter assertions. |
| moskito-core/src/test/java/net/anotheria/moskito/core/tracer/TracerTest.java | Migrates assertions to Jupiter and updates message ordering. |
| moskito-core/src/test/java/net/anotheria/moskito/core/tracer/ShrinkingStrategyTest.java | Migrates assertions to Jupiter. |
| moskito-core/src/test/java/net/anotheria/moskito/core/threshold/ThresholdStatusTest.java | Migrates assertions to Jupiter. |
| moskito-core/src/test/java/net/anotheria/moskito/core/threshold/ThresholdConfigTest.java | Migrates lifecycle and assertions to JUnit 5. |
| moskito-core/src/test/java/net/anotheria/moskito/core/threshold/GuardsTest.java | Migrates assertions to Jupiter. |
| moskito-core/src/test/java/net/anotheria/moskito/core/threshold/FindThresholdTest.java | Migrates class lifecycle annotations to JUnit 5. |
| moskito-core/src/test/java/net/anotheria/moskito/core/threshold/alerts/AlertDispatcherTest.java | Migrates teardown annotation to @AfterEach. |
| moskito-core/src/test/java/net/anotheria/moskito/core/stats/impl/NegativeCurrentRequestsTest.java | Migrates assertions to Jupiter (message ordering). |
| moskito-core/src/test/java/net/anotheria/moskito/core/stats/impl/LongValueHolderTest.java | Migrates assertions to Jupiter. |
| moskito-core/src/test/java/net/anotheria/moskito/core/stats/impl/IntValueHolderTest.java | Migrates assertions to Jupiter. |
| moskito-core/src/test/java/net/anotheria/moskito/core/stats/impl/IntervalNameParserTest.java | Migrates assertions to Jupiter. |
| moskito-core/src/test/java/net/anotheria/moskito/core/stats/impl/IntervalImplTest.java | Migrates assertions to Jupiter. |
| moskito-core/src/test/java/net/anotheria/moskito/core/stats/impl/DiffLongValueHolderTest.java | Migrates assertions to Jupiter. |
| moskito-core/src/test/java/net/anotheria/moskito/core/snapshot/SnapshotRepositoryTest.java | Migrates setup to @BeforeEach and assertions to Jupiter. |
| moskito-core/src/test/java/net/anotheria/moskito/core/snapshot/SnapshotCreatorTest.java | Migrates assertions to Jupiter. |
| moskito-core/src/test/java/net/anotheria/moskito/core/registry/RegistryMemoryLeakTest.java | Migrates assertions to Jupiter. |
| moskito-core/src/test/java/net/anotheria/moskito/core/registry/ProducerRegistryTest.java | Migrates lifecycle annotations and assertions to JUnit 5. |
| moskito-core/src/test/java/net/anotheria/moskito/core/registry/ProducerReferenceTest.java | Rewrites @Test(expected=...) to assertThrows and migrates assertions to Jupiter. |
| moskito-core/src/test/java/net/anotheria/moskito/core/registry/filters/FiltersTest.java | Migrates setup annotation and assertions to Jupiter. |
| moskito-core/src/test/java/net/anotheria/moskito/core/predefined/ThreadStateStatsTest.java | Migrates assertions to Jupiter. |
| moskito-core/src/test/java/net/anotheria/moskito/core/predefined/ThreadCountStatsTest.java | Migrates assertions to Jupiter. |
| moskito-core/src/test/java/net/anotheria/moskito/core/predefined/ServiceStatsSimpleTest.java | Migrates assertions to Jupiter. |
| moskito-core/src/test/java/net/anotheria/moskito/core/predefined/ServiceStatsParallelTestOld.java | Migrates assertions to Jupiter. |
| moskito-core/src/test/java/net/anotheria/moskito/core/predefined/ServiceStatsParallelTest.java | Migrates assertions to Jupiter (message ordering). |
| moskito-core/src/test/java/net/anotheria/moskito/core/predefined/ServiceStatsCallHandlerTest.java | Migrates assertions to Jupiter (message ordering). |
| moskito-core/src/test/java/net/anotheria/moskito/core/predefined/RequestOrientedStatsTest.java | Migrates assertions to Jupiter (message ordering). |
| moskito-core/src/test/java/net/anotheria/moskito/core/predefined/QueueStatsTest.java | Migrates assertions to Jupiter. |
| moskito-core/src/test/java/net/anotheria/moskito/core/predefined/GlobalRequestProcessorStatsTest.java | Migrates assertions to Jupiter. |
| moskito-core/src/test/java/net/anotheria/moskito/core/predefined/GCStatsTest.java | Migrates assertions to Jupiter. |
| moskito-core/src/test/java/net/anotheria/moskito/core/predefined/CacheStatsTest.java | Migrates assertions to Jupiter. |
| moskito-core/src/test/java/net/anotheria/moskito/core/logging/StatsLoggerTest.java | Migrates assertions to Jupiter (message ordering). |
| moskito-core/src/test/java/net/anotheria/moskito/core/journey/JourneyManagerImplTest.java | Migrates assertions to Jupiter. |
| moskito-core/src/test/java/net/anotheria/moskito/core/journey/JourneyManagerFactoryTest.java | Migrates assertions to Jupiter. |
| moskito-core/src/test/java/net/anotheria/moskito/core/exceptions/ExceptionPassingTest.java | Migrates assertions to Jupiter. |
| moskito-core/src/test/java/net/anotheria/moskito/core/errorhandling/ErrorCatcherTest.java | Migrates setup annotation and assertions to Jupiter. |
| moskito-core/src/test/java/net/anotheria/moskito/core/errorhandling/BuiltInErrorProducerTest.java | Migrates setup annotations and assertions to Jupiter. |
| moskito-core/src/test/java/net/anotheria/moskito/core/entrypoint/PastMeasurementChainNodeTest.java | Migrates assertions to Jupiter. |
| moskito-core/src/test/java/net/anotheria/moskito/core/dynamic/ProxyUtilsTest.java | Removes Hamcrest usage in favor of Jupiter assertions. |
| moskito-core/src/test/java/net/anotheria/moskito/core/dynamic/OnDemandStatsProducerTest.java | Migrates assertions to Jupiter. |
| moskito-core/src/test/java/net/anotheria/moskito/core/dynamic/OnDemandStatsProducerListenerTest.java | Migrates assertions to Jupiter. |
| moskito-core/src/test/java/net/anotheria/moskito/core/dynamic/EntryCountLimitedOnDemandStatsProducerTest.java | Migrates assertions to Jupiter (message ordering). |
| moskito-core/src/test/java/net/anotheria/moskito/core/decorators/value/DoubleValueAOTest.java | Removes Hamcrest matcher and uses Jupiter assertions. |
| moskito-core/src/test/java/net/anotheria/moskito/core/decorators/DecoratorRegistryTest.java | Migrates lifecycle annotations and assertions (message ordering) to JUnit 5. |
| moskito-core/src/test/java/net/anotheria/moskito/core/decorators/CreateDecoratorsTest.java | Migrates @Test import to Jupiter. |
| moskito-core/src/test/java/net/anotheria/moskito/core/counter/MaleFemaleStatsTest.java | Migrates assertions to Jupiter. |
| moskito-core/src/test/java/net/anotheria/moskito/core/counter/CounterStatsTest.java | Migrates assertions to Jupiter. |
| moskito-core/src/test/java/net/anotheria/moskito/core/context/MoSKitoContextTest.java | Migrates assertions to Jupiter. |
| moskito-core/src/test/java/net/anotheria/moskito/core/config/dashboards/DashboardConfigTest.java | Migrates assertions to Jupiter. |
| moskito-core/src/test/java/net/anotheria/moskito/core/config/dashboards/ChartConfigTest.java | Rewrites expected-exception to assertThrows and uses Jupiter assertions. |
| moskito-core/src/test/java/net/anotheria/moskito/core/command/CommandControllerTest.java | Migrates @BeforeClass to @BeforeAll. |
| moskito-core/src/test/java/net/anotheria/moskito/core/blueprint/BlueprintWithCalcTest.java | Migrates assertions to Jupiter. |
| moskito-core/src/test/java/net/anotheria/moskito/core/accumulation/AutoAccumulationDefinitionTest.java | Migrates from Assert to Jupiter Assertions. |
| moskito-core/src/test/java/net/anotheria/moskito/core/accumulation/AccumulatorTest.java | Migrates assertions to Jupiter. |
| moskito-aop/src/test/java/net/anotheria/moskito/aop/tagging/TaggingAnnotationTest.java | Migrates assertions to Jupiter. |
| moskito-aop/src/test/java/net/anotheria/moskito/aop/MonitorWithSubClassesTest.java | Replaces Hamcrest assertions with Jupiter assertions and migrates lifecycle annotations. |
| moskito-aop/src/test/java/net/anotheria/moskito/aop/monitorcalls/ininterface/onmethod/MonitorCallsTest.java | Migrates ignore/disabled handling and assertions to JUnit 5. |
| moskito-aop/src/test/java/net/anotheria/moskito/aop/monitorcalls/ininterface/oninterface/MonitorCallsTest.java | Migrates ignore/disabled handling and assertions to JUnit 5. |
| moskito-aop/src/test/java/net/anotheria/moskito/aop/monitorcalls/clazz/onmethod/MonitorCallsTest.java | Migrates ignore/disabled handling and assertions to JUnit 5. |
| moskito-aop/src/test/java/net/anotheria/moskito/aop/monitorcalls/clazz/onclass/MonitorCallsTest.java | Migrates assertions to JUnit 5. |
| moskito-aop/src/test/java/net/anotheria/moskito/aop/DontMonitorAnnotationTest.java | Migrates assertions to JUnit 5. |
| moskito-aop/src/test/java/net/anotheria/moskito/aop/annotation_inheritance/AnnotationInheritanceTest.java | Replaces Hamcrest assertions with Jupiter assertions. |
| moskito-aop/src/test/java/net/anotheria/moskito/aop/AnnotatedCallTest.java | Migrates assertions to JUnit 5 (message ordering). |
| moskito-aop/src/test/java/net/anotheria/moskito/aop/AccumulateWithSubClassesTest.java | Migrates lifecycle/disabled annotations and assertion message ordering to JUnit 5. |
| moskito-aop/src/test/java/net/anotheria/moskito/aop/AccumulatesCallTest.java | Migrates class lifecycle annotations to JUnit 5. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Comment on lines
81
to
83
| assertEquals(aRepository.getAccumulators().size(), 0); | ||
| createFakeAccumulators(new String[]{"a1", "a2", "a3", "a4", "a5", "a6", "a7"}); | ||
| assertEquals(aRepository.getAccumulators().size(), 7); |
Pre-existing nits surfaced during review of the JUnit 5 migration; all are behavior-neutral (assertEquals is symmetric, so only failure-message labels change): - put expected before actual in 4 assertions (GetAccumulatorGraphDataTest, StatsLoggerTest, MoskitoHttpServletTest x2) - fix "accumulatd" -> "accumulated" typo in an assertion message Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
The parent was bumped to 4.4, which provides
junit-jupiterinstead ofjunit:junit(and drops the transitively-pulledhamcrest). This PR makes that bump and migrates the whole test suite to JUnit 5.Two commits:
updated parent version— parent 4.3 → 4.4Migrate tests from JUnit 4 to JUnit 5— 103 filesWhat changed in the migration
org.junit.*→org.junit.jupiter.api.*(@Before/@After/@BeforeClass/@AfterClass/@Ignore→ JUnit 5 equivalents,Assert→Assertions).Stringcases the compiler accepts silently (e.g.TracerTest).@Test(expected = …)→assertThrows(…); dropped an unnecessary@RunWith(MockitoJUnitRunner)(the test only usedmock()directly).assertThat/matchers rewritten to plain JUnit 5 assertions (hamcrest is no longer on the classpath).junit:junitdependency frommoskito-webui.Verification
Full reactor
clean install: 271 tests, 0 failures, 0 errors, 12 skipped (the skipped ones are the pre-existing@Ignore, now@Disabled— unchanged behavior).🤖 Generated with Claude Code