[ 
https://issues.apache.org/jira/browse/KAFKA-16929?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17853845#comment-17853845
 ] 

Ismael Juma commented on KAFKA-16929:
-------------------------------------

Isn't there an existing library that does this? It seems hard to believe. I am 
not sure we should be building our own assertion library (it's one more thing 
people will have to learn) unless it's really true that there isn't something 
out there that solves this issue.

> Conside defining kafka-specified assertion to unify testing style
> -----------------------------------------------------------------
>
>                 Key: KAFKA-16929
>                 URL: https://issues.apache.org/jira/browse/KAFKA-16929
>             Project: Kafka
>          Issue Type: New Feature
>            Reporter: Chia-Ping Tsai
>            Assignee: Chia-Ping Tsai
>            Priority: Major
>
> There are many contributors who trying to fix chaos of kafka testing. That 
> includes following huge works:
>  # replace powermock/easymock by mockito (KAFKA-7438)
>  # replace junit 4 assertion by junit 5 (KAFKA-7339)
> We take 6 years to complete the migration for task 1. The second task is in 
> progress and I hope it can be addressed in 4.0.0
> When reviewing I noticed there are many different tastes in code base. That 
> is why the task 1 is such difficult to rewrite. Now, the rewriting of 
> "assertion" is facing the same issue, and I feel the usage of "assertion" is 
> even more awkward than "mockito" due to following reason.
>  # there are two "different" assertion style in code base - hamcrest and 
> junit - that is confused to developers
>  # 
> [https://github.com/apache/kafka/pull/15730#discussion_r1567676845|https://github.com/apache/kafka/pull/15730#discussion_r1567676845)]
>  # third-party assertion does not offer good error message, so we need to use 
> non-common style to get useful output 
> [https://github.com/apache/kafka/pull/16253#discussion_r1633406693|https://github.com/apache/kafka/pull/16253#discussion_r1633406693)]
> IMHO, we should consider having our kafka-specified assertion style. Than can 
> bring following benefit.
>  # unify the assertion style of whole project
>  # apply customized assertion. for example:
>  ## assertEqual(List<Y>, List<K>, F<K, Y>))
>  ## assertTrue(Supplier<B>, Duration) - equal to `TestUtils.waitForCondition`
>  # auto-generate useful error message. For example: assertEqual(0, list) -> 
> print the list
> In short, I'd like to add a new module to define common assertions, and then 
> apply it to code base slowly.
> All feedback/responses/objections are welcomed :)
>  



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to