streams-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Suneel Marthi <smar...@apache.org>
Subject Re: [DISCUSS] Switch from JUnit to TestNG for failsafe integration testing.
Date Sat, 26 Nov 2016 19:21:51 GMT
+1 to this proposal, we should standardize on one test framework across the
project from what's presently out there.

On Sat, Nov 26, 2016 at 11:17 AM, sblackmon <sblackmon@apache.org> wrote:

>
> Hello,
>
> I propose that we bind failsafe plugin to TestNG rather than JUnit
> project-wide.
>
> The reason is simple - TestNG supports placing tests into groups and
> declaring dependencies that determine which order all tests in the module
> run in - and JUnit does not.
>
> Consider the following scenario - a provider module test plan includes the
> following:
> a) collect documents
> b) validate the collected documents against their upstream schema(s)
> c) convert the collected documents to activity and activity object
> schema(s)
> d) validate the converted documents, using an appropriate validator for
> each verb and object type
>
> If we have the ability to specify the order of test execution, that test
> plan might be 2, 3, 4, or more separate test classes.
>
> If not, all of that mostly orthogonal testing has to be corralled into a
> single test class just to ensure proper order of execution.
>
> All of our provider and persist module can have more complex yet more
> simply organized tests using this model.
>
> As for surefire plugin for unit testing, I’m ambivalent - I would think we
> can leave it on JUnit unless there’s a clear benefit to switching it also.
>
> Making the switch should be easy -
> 1) remove org.junit imports in every class ending with IT
> 2) import the corresponding org.testng.annotations instead.
> 3) swap the failsafe binding in the streams-master pom
> 4) confirm the same number of tests run during integration-test and all
> still pass.
>
> Any objections or related ideas to consider?
>
> Steve
>
>
>
>
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message