Claus Ibsen created CAMEL-24989:
-----------------------------------
Summary: Overridden test methods without @Test are silently
skipped in SpringSamplingThrottlerTest and an MLLP test
Key: CAMEL-24989
URL: https://issues.apache.org/jira/browse/CAMEL-24989
Project: Camel
Issue Type: Test
Components: camel-spring-xml, camel-mllp
Reporter: Claus Ibsen
In JUnit 5, a method that overrides a {{@Test}} method is only a test if it
declares {{@Test}} itself. The annotation is not inherited. A subclass that
overrides a test without {{@Test}} silently drops it: the test never runs and
still shows as green.
A scan of all test sources found two classes where this is not intentional
(overrides that use {{@Disabled}} on purpose, such as in
{{SpringLoopDoWhileTest}} and {{SpringXmlRouteBuilderTest}}, are fine):
*camel-spring-xml* - {{SpringSamplingThrottlerTest}}
All 6 overrides lack {{@Test}}: testSamplingFromExchangeStream,
testBurstySampling, testSendLotsOfMessagesSimultaneouslyButOnly3GetThrough,
testSamplingWithPropertyPlaceholder, testSamplingUsingMessageFrequency,
testSamplingUsingMessageFrequencyViaDSL. They only call super, so they can be
removed. Some routes they need are also missing from {{samplingThrottler.xml}},
for example {{direct:sample-placeholder}}, so the tests will fail once they run
until those routes are added.
*camel-mllp* - {{MllpTcpServerConsumerOptionalEndOfDataWithoutValidationTest}}
7 overrides with their own expectations lack {{@Test}}: testInvalidMessage,
testNthInvalidMessage, testMessageContainingEmbeddedStartOfBlock,
testNthMessageContainingEmbeddedStartOfBlock,
testMessageContainingEmbeddedEndOfBlock,
testNthMessageContainingEmbeddedEndOfBlock,
testInvalidMessageContainingEmbeddedEndOfBlock. The sibling classes that extend
{{TcpServerConsumerEndOfDataAndValidationTestSupport}} do declare {{@Test}} on
their overrides.
Found while fixing a CI failure after CAMEL-24927, where the new inherited test
was the only one that actually ran in {{SpringSamplingThrottlerTest}}.
_Claude Code on behalf of davsclaus_
--
This message was sent by Atlassian Jira
(v8.20.10#820010)