+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 > >