[
https://issues.apache.org/jira/browse/LUCENE-10662?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17571453#comment-17571453
]
Marios Trivyzas edited comment on LUCENE-10662 at 7/26/22 2:14 PM:
-------------------------------------------------------------------
{quote}I wouldn't rename any methods (assertEquals becomes assertEquality) -
this will be even more confusing for downstream users. I'd remove the extend
and assertEquals* methods from LuceneTestCase and move those methods into a
separate class (like LuceneAssertions or something) - then the upgrade would be
about importing them statically from junit's Assert or LuceneAssertions.
{quote}
I don't get how we can resolve a few issues: for example the *private void
assertEquals(Sort a, Sort b)* in {*}TestSort{*}, if it remains like that and we
also *import static org.junit.Assert.assertEquals* in the same class, the
compiler doesn't know which one is using unless we use *Assert.assertEquals()*
everwhere else, to actually use the junit one.
The most important point, is what you mentioned, about all the projects that
use {*}LuceneTestCase{*}, so let's see what other people also think about this.
was (Author: matriv):
{quote}
I wouldn't rename any methods (assertEquals becomes assertEquality) - this will
be even more confusing for downstream users. I'd remove the extend and
assertEquals* methods from LuceneTestCase and move those methods into a
separate class (like LuceneAssertions or something) - then the upgrade would be
about importing them statically from junit's Assert or LuceneAssertions.
{quote}
I don't get how we can resolve a few issues: for example the *private void
assertEquals(Sort a, Sort b)* in {*}TestSort{*}, if it remains like that and we
also *import static org.junit.Assert.assertEquals* in the same class, the
compiler doesn't know which one is using unless we use *Assert.assertEquals()*
everwhere else, to actually use the junit one.
The most important point is what you mentioned about all the projects that use
{*}LuceneTestCase{*}, so let's see what other people also think about this.
> Make LuceneTestCase not extending from org.junit.Assert
> -------------------------------------------------------
>
> Key: LUCENE-10662
> URL: https://issues.apache.org/jira/browse/LUCENE-10662
> Project: Lucene - Core
> Issue Type: Test
> Components: general/test
> Reporter: Marios Trivyzas
> Priority: Major
> Time Spent: 20m
> Remaining Estimate: 0h
>
> Since *LuceneTestCase* is a very useful abstract class that can be extended
> and used by many projects, having it extending *org.junit.Assert* limits all
> users to exclusively use the static methods of {*}org.junit.Assert{*}. In our
> project we want to use [https://joel-costigliola.github.io/assertj] where the
> main method to call is *org.assertj.core.api.Assertions.assertThat* which
> conflicts with the deprecated {*}org.junit.Assert.assertThat{*}, recognized
> by default by the compiler. So one can only use assertj if on every call uses
> fully qualified name for the *assertThat* method, i.e.
>
> {code:java}
> org.assertj.core.api.Assertions.assertThat(myObj.name()).isEqualTo(expectedName)
> {code}
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]