Thank you all for the feedback.

> This increases the scope to a overhaul of tests across the project..
Wonder if we can do a RFC for this?
Indeed it is overhaul type of change. IMO RFC is needed specifically for
the test utility re-design part. Guess it can be created when it's good to
start? Since it'll be a long-running task, have an umbrella ticket for this
topic first? @vinoth


On Sat, Apr 4, 2020 at 2:47 AM leesf <[email protected]> wrote:

> +1 to upgrade the unit test. junit5 combine better with java8, and there
> are some migration guides already, and we maybe could upgrade by module.
>
> vino yang <[email protected]> 于2020年4月2日周四 下午4:38写道:
>
> > Hi Shiyan,
> >
> > +1 from my side.
> >
> > Best,
> > Vino
> >
> > Vinoth Chandar <[email protected]> 于2020年3月30日周一 下午11:00写道:
> >
> > > Hi Raymond,
> > >
> > > Sounds good to me. This increases the scope to a overhaul of tests
> across
> > > the project.. Wonder if we can do a RFC for this? But overall +1 from
> me.
> > >
> > > I would like to call upon the community to chime in more though :) .
> > let's
> > > give it a few days..
> > >
> > >
> > > Thanks
> > > Vinoth
> > >
> > > On Fri, Mar 27, 2020 at 5:18 PM Shiyan Xu <[email protected]
> >
> > > wrote:
> > >
> > > > Understand Vinoth. To me AssertJ is nice-to-have. I agree with the
> > > learning
> > > > overhead.
> > > >
> > > > The current CI time is too long and we do need to use more mocking
> and
> > > > optimize spark jobs setup.
> > > >
> > > > Based on your points, I imagine the path forward can be planned as
> this
> > > >
> > > > 1. An initial PR to add Junit 5 to co-exist with 4 in the project
> with
> > a
> > > > simple testcase converted to 5 as a working proof
> > > > 2. A design task to refactor test utilities (create new utilities
> with
> > > > Junit 5 for easy switch-over of affected testcases)
> > > > 3. Track all test improvement PRs (using Junit 5). Each PR should aim
> > to
> > > > solve 1 of the problems below
> > > >   - test can be improved with mocking
> > > >   - test can be optimized on spark job setup
> > > > 4. Clean unused test utilities (from step 2)
> > > >
> > > > We should recognize these steps to be carried out in a long-running
> > > ongoing
> > > > fashion.
> > > >
> > > > Any thoughts or feedback?
> > > >
> > > > On Wed, Mar 25, 2020 at 7:52 AM Vinoth Chandar <[email protected]>
> > > wrote:
> > > >
> > > > > +1 on Junit5.
> > > > >  does seem nicer with support for lambdas. assuming we do a gradual
> > > > > rollout. At any point, we cannot have any of the core tests
> disabled
> > :)
> > > > > May be we can use the vintage framework for now, do minimal changes
> > > > migrate
> > > > > and then proceed to redoing the tests
> > > > >
> > > > > On AssertJ type frameworks, I wonder if there is a cost to this
> type
> > of
> > > > > framework for new devs.
> > > > > They already need to learn junit 5, mockito, all the TestUtils and
> > like
> > > > one
> > > > > more framework for asserting
> > > > >
> > > > > Orthogonally, I will be thrilled if you also took upon a large
> > > > > restructuring on tests cleanly into
> > > > > - unit tests that test class functionality using mocks
> > > > > - functional tests that bring up a spark context and actually run
> the
> > > job
> > > > > (we have a lot of these tests masquerading as unit tests)
> > > > > - Clean redesign of the test utility classes
> > > > >
> > > > > Sorry to expand scope, but when someone is going to take a look at
> > > every
> > > > > test, I could not pass up an opportunity to sneak this in :)
> > > > >
> > > > > Love to hear others thoughts.. any one with experience working with
> > > > > Junit5/Assertj-Hamcrest?
> > > > >
> > > > > On Tue, Mar 24, 2020 at 9:36 PM Shiyan Xu <
> > [email protected]
> > > >
> > > > > wrote:
> > > > >
> > > > > > Some references
> > > > > > https://junit.org/junit5/docs/current/user-guide/
> > > > > > https://joel-costigliola.github.io/assertj/
> > > > > >
> > > > > > On Tue, Mar 24, 2020 at 9:27 PM Shiyan Xu <
> > > [email protected]
> > > > >
> > > > > > wrote:
> > > > > >
> > > > > > > Hi all,
> > > > > > >
> > > > > > > I'd like to gather some feedback about
> > > > > > > 1. upgrading Junit 4 to 5
> > > > > > > 2. adopt AssertJ as preferred assertion statement style
> > > > > > >
> > > > > > > IMO 1) will give many benefits on writing better unit tests. A
> > > google
> > > > > > > search of "junit 4 vs 5" could lead to many good points. And it
> > is
> > > > some
> > > > > > > migration can be done piece by piece (keeping both 4 and 5
> during
> > > > > upgrade
> > > > > > > and enforce new test using 5)
> > > > > > >
> > > > > > > 2) is to spice things up and bring the test readability to
> > another
> > > > > level,
> > > > > > > though I'll treat it as nice-to-have.
> > > > > > >
> > > > > > > Would you +1 or -1 on either or both?
> > > > > > >
> > > > > > > Knowing that it'll be a long way to go due to the large number
> of
> > > > > tests,
> > > > > > > this needs to be planned and tracked carefully.
> > > > > > >
> > > > > > > Thank you.
> > > > > > >
> > > > > > > Best,
> > > > > > > Raymond
> > > > > > >
> > > > > > >
> > > > > >
> > > > >
> > > >
> > >
> >
>

Reply via email to