+1

Best regards,

Pranay Pandey
HotWax Systems
http://www.hotwaxsystems.com/

On Fri, Jun 10, 2016 at 7:46 PM, Taher Alkhateeb <slidingfilame...@gmail.com
> wrote:

> Hello Everyone,
>
> I was able to get a few tests running and this is very doable. But I faced
> a big problem in designing the testing framework because of ANT.
>
> The problem
> ----------------
> The way the build scripts are designed in OFBiz are very complex. A master
> file calls other files which call other files. And in the middle you have
> external libraries (ant-contrib) and macros, and variables, and class path
> declarations, and and and ....
>
> I cannot declare the tests programmatically (with JUnit test suites)
> because this means lower level components would depend on higher level
> components. So I have to do it in ANT, by navigating this maze of build
> scripts, and it was a headache for me just to read them, let alone modify
> them to create a testing framework.
>
> Suggested Solution
> ------------------------
> I suggest to implement the testing framework in Gradle, and simply call it
> from within ant. This is a middle solution that sustains ant for now, but
> can allow us to switch out later.
>
> This means I will just add one more file called build.gradle in the top
> level directory, and figure out the business logic for calling the test
> suites from that file
>
> I look forward to your feedback.
>
> Regards,
>
> Taher Alkhateeb
>
> On Wed, Jun 8, 2016 at 6:00 PM, Taher Alkhateeb <
> slidingfilame...@gmail.com>
> wrote:
>
> > Hi Everyone,
> >
> > Thank you all for your support, JIRA created in
> > https://issues.apache.org/jira/browse/OFBIZ-7254
> >
> > I will start working on it and try to implement ASAP to get my focus back
> > on refactoring.
> >
> > Cheers!
> >
> > Taher Alkhateeb
> >
> > On Wed, Jun 8, 2016 at 4:58 PM, Deepak Dixit <
> > deepak.di...@hotwaxsystems.com> wrote:
> >
> >> +1
> >>
> >> Thanks & Regards
> >> --
> >> Deepak Dixit
> >> www.hotwaxsystems.com
> >>
> >> On Wed, Jun 8, 2016 at 7:12 PM, Mridul Pathak <
> >> mridul.pat...@hotwaxsystems.com> wrote:
> >>
> >> > +1
> >> >
> >> > Makes perfect sense.
> >> >
> >> > --
> >> > Thanks & Regards,
> >> > Mridul Pathak
> >> > Senior Manager
> >> > HotWax Systems
> >> > http://www.hotwaxsystems.com
> >> >
> >> > > On Jun 8, 2016, at 2:41 PM, Taher Alkhateeb <
> >> slidingfilame...@gmail.com>
> >> > wrote:
> >> > >
> >> > > Hello Everyone,
> >> > >
> >> > > After refactoring the start component and while starting on the base
> >> > > component I realized that the testing framework for OFBiz is not
> good.
> >> > You
> >> > > cannot do real test driven development or red-green-refactor with
> the
> >> > > current setup, hence my proposal to change it. I explain below:
> >> > >
> >> > > Problem with current design
> >> > > ----------------------------------------
> >> > > - What we have right now is not unit tests, it's really integration
> >> > tests.
> >> > > You have to start the framework, the database, the service engine,
> the
> >> > > entity engine and pretty much everything.
> >> > > - Testing is very slow, because it's an integration test as I
> >> mentioned
> >> > > above. 10 minutes on a good computer!
> >> > > - There is zero mocking! We actually have to --load-data for things
> to
> >> > > work. Again, these are integration tests.
> >> > > - Too complex: Integration tests by their nature are grabbing too
> >> much.
> >> > > Mind you, I am not objecting to integration tests (I actually like
> >> them)
> >> > > but I am objecting to not having real unit-tests. Unit tests should
> >> all
> >> > run
> >> > > in a few seconds.
> >> > >
> >> > > Proposed solution
> >> > > --------------------------
> >> > > - We keep what is considered real integration tests the way they are
> >> > right
> >> > > now and keep using them
> >> > > - We move what should be unit tests into simple JUnit classes, and
> we
> >> do
> >> > > not run them using java -jar ofbiz.jar --test, but instead run them
> >> > > directly from the build.xml script, so these files are not
> identified
> >> in
> >> > > any XML document, but are simply called immediately from the build
> >> > scripts.
> >> > > - We clearly mark the difference between integration tests and unit
> >> tests
> >> > > (inside the source files or in the suite declarations).
> >> > > - We change the run-tests target in build.xml to run both unit tests
> >> and
> >> > > integration tests.
> >> > >
> >> > > I intend to heavily refactor the framework and I would feel better
> >> about
> >> > > introducing this change while refactoring. What do you guys think?
> >> Ideas?
> >> > > Suggestions? Approvals and thumbs up?
> >> > >
> >> > > Regards,
> >> > >
> >> > > Taher Alkhateeb
> >> >
> >> >
> >>
> >
> >
>

Reply via email to