heh, look at what I just pushed to https://github.com/apache/bookkeeper/pull/930

-Ivan

On Wed, Jan 3, 2018 at 3:34 PM, Enrico Olivelli <eolive...@gmail.com> wrote:
> Hi,
> I wrote some lines of code in order to demonstrate my idea for BC tests.
>
>
> The idea is:
> - use Maven Resolver to download code
> - create a ClassLoader which loads classes from such downloaded artifacts
> - use a scripting language, like Groovy (which is loosely typed) to write
> tests (Groovy is really like Java so it is very easy for a Java programmer
> to write Java code  and let Groovy run it)
>
> Using separate classloaders lets us to have completely different versions
> of the same code, like a JavaEE container works.
>
>
>
> This is an example
>
> https://github.com/eolivelli/mavendemo/blob/master/src/test/groovy/resolver/demo/ResolverJavaExampleTest.groovy
>
> Code of tests will look like this:
>
>     @Test
>     public void hello() throws Exception {
>         ProgramVersion program410 =
> ProgramVersion.resolve("org.apache.bookkeeper:bookkeeper-server:4.1.0");
>         def clientconfig410 =
> program410.newInstance("org.apache.bookkeeper.conf.ClientConfiguration");
>         def bkc410 =
> program410.newInstance("org.apache.bookkeeper.client.BookKeeper",
> clientconfig);
>         System.out.println("bkc410:" + bkc410);
>
>
>         ProgramVersion program451 =
> ProgramVersion.resolve("org.apache.bookkeeper:bookkeeper-server:4.5.1");
>         def clientconfig451 =
> program451.newInstance("org.apache.bookkeeper.conf.ClientConfiguration");
>         def bkc451 =
> program451.newInstance("org.apache.bookkeeper.client.BookKeeper",
> clientconfig);
>         System.out.println("bkc451:" + bkc451);
> }
>
> I you like the idea I can make a real test cases
>
>
> Enrico

Reply via email to