AFAIU, If any test is extended from the base class, you identify it as a jaggery test and do some special treatment like integrating to Emma etc... The annotation marks the class as qualified to receive the special treatment you are going to do within the abstract class. The best example is the difference between JUnit 3 & 4.
In JUnit 3 we had to extend our test class from junit.framework.TestCase class. But in Junit 4, the abstract class has been deprecated and introduced a simple annotations. So I think asking people to implement their test classes from a Abstract class is an old fashion which was followed before java 5. We can improve the readability of the test using annotations. On Thu, Jul 10, 2014 at 10:25 AM, Krishantha Samaraweera < [email protected]> wrote: > Hi Chamil, > > We can introduce TestNG custom annotation easily, but I'm in confusion how > custom annotation fit in to this context. > > Only thing which comes to my mind is include the base class to all > products using TestNG annotation transform listener. > > Thanks, > Krishantha. > > > > > > > On Thu, Jul 10, 2014 at 10:16 AM, Chamil Jeewantha <[email protected]> > wrote: > >> Hi All, >> >> Why can't we use an annotation like @JaggeryTest rather than a Base class >> in this case? It will be more sophisticated to the test writers. >> >> Regards, >> Chamil >> >> >> On Wed, Jul 9, 2014 at 11:59 AM, Ruchira Wageesha <[email protected]> >> wrote: >> >>> Hi Krishantha, >>> >>> You should be able to use the same admin service that you use for Java >>> webapps. >>> >>> >>> On Wed, Jul 9, 2014 at 11:20 AM, Krishantha Samaraweera < >>> [email protected]> wrote: >>> >>>> Hi Ruchira, >>>> >>>> >>>> On Mon, Jul 7, 2014 at 6:39 PM, Ruchira Wageesha <[email protected]> >>>> wrote: >>>> >>>>> >>>>> >>>>> >>>>> On Mon, Jul 7, 2014 at 4:46 PM, Krishantha Samaraweera < >>>>> [email protected]> wrote: >>>>> >>>>>> Hi Ruchira, >>>>>> >>>>>> This is not going to be a simple plugin to implement.This plugin will >>>>>> act as a test executor and report generator, and we need to integrate >>>>>> code >>>>>> coverage generation as well. Maven already provide sure-fire plug for >>>>>> test >>>>>> execution and TestNG and Emma provide other capabilities. So writing a >>>>>> new >>>>>> plugin from the scratch will be more work and we are going to ignore >>>>>> existing plugins and test framework capabilities. I think we are trying >>>>>> to >>>>>> reinvent the wheel >>>>>> >>>>> Sorry Krishantha, you have got it wrong :). I never said to reinvent >>>>> the wheel and I know it is useless. >>>>> >>>>> To clarify what I meant, assume the configuration that everyone put in >>>>> their pom.xml asking TestNG/Emma to execute the test class that they >>>>> wrote(Let's say it as X and everyone will have to write the same class). >>>>> Instead of that, your test framework jar bundles the class(X) and you >>>>> write >>>>> a maven plugin, which allows someone to ask TestNG/Emma to execute tests >>>>> with your bundled class(X) by just specifying maven plugin configuration >>>>> in >>>>> their pom.xml >>>>> >>>> >>>> Idea of this new feature was to run jaggery tests and display the >>>> result in TestNG report generated by test framework. To implement the >>>> plugin you mentioned, we need to write a wrapper plugin around surefire >>>> plugin. I don't know whether this capability is provided by maven. >>>> >>>> The test class that developers going write will be look like this [1]. >>>> It is matter of extending abstract test class. Will do a demo on this and >>>> discuss with you. So we can decide what is the best way to go ahead. >>>> >>>> [1] >>>> https://github.com/wso2/product-dss/blob/master/modules/integration/tests-integration/tests/src/test/java/org/wso2/dss/integration/test/server/mgt/DSSServerBundleStatusTestCase.java >>>> >>>> >>>> again. >>>>>> >>>>>> Adding one single test class just by extending a class provided by >>>>>> test framework doesn't going to be overkill. >>>>>> >>>>>> Is there a way to discover all jaggery applications hosted in carbon >>>>>> server instance? if jaggery app discovery is available, then we can use >>>>>> testNG listener to run all unit tests in those Jaggery apps even without >>>>>> writing single java class in product test modules. >>>>>> >>>>> +1. If you list down all the directories available within >>>>> repository/deployment/server/jaggeryapps directory, those are the Jaggery >>>>> apps available. >>>>> >>>> >>>> If we refer carbon.home in tests case, then the test case will have to >>>> be skipped from platform/distributed scenarios (where distribution is >>>> hosted remotely). We refer carbon.home only if there is no way to get test >>>> inputs. >>>> >>>> Is there a admin service to get all jaggery apps deployed on carbon >>>> instance ? >>>> >>>> Thanks, >>>> Krishantha. >>>> >>>> >>>> >>>>> >>>>>> Thanks, >>>>>> Krishantha. >>>>>> >>>>>> >>>>>> >>>>>> On Mon, Jul 7, 2014 at 4:31 PM, Ruchira Wageesha <[email protected]> >>>>>> wrote: >>>>>> >>>>>>> Hi Dimuthu, >>>>>>> >>>>>>> With this approach, everyone who wants to test Jaggery apps will >>>>>>> have to write the same Java code by extending your base class, which is >>>>>>> redundant. Hence, IMO, the best options would be to wrap your base class >>>>>>> and write a maven plugin. So, what other's will have to do is, just add >>>>>>> that configuration in the pom and tests will be executed automatically >>>>>>> without writing any Java code. >>>>>>> >>>>>>> /Ruchira >>>>>>> >>>>>>> >>>>>>> On Mon, Jul 7, 2014 at 3:39 PM, Dimuthu De Lanerolle < >>>>>>> [email protected]> wrote: >>>>>>> >>>>>>>> Hi, >>>>>>>> >>>>>>>> I have started working on this. Our plan is to write a common test >>>>>>>> class inside carbon-platform-integration-utils module which product >>>>>>>> teams >>>>>>>> can extend and start running jaggery tests residing inside >>>>>>>> [PRODUCT_HOME]/repository/deployment/server/jaggeryapps/xxx/test >>>>>>>> directory. >>>>>>>> Invocation of each test endpoint will be treated as a separate test >>>>>>>> case >>>>>>>> resulting number of test cases to be executed will get equal to number >>>>>>>> of >>>>>>>> test endpoints to be invoked. >>>>>>>> >>>>>>>> Regards >>>>>>>> >>>>>>>> Dimuthu De Lanerolle >>>>>>>> Software Engineer >>>>>>>> WSO2 Inc. >>>>>>>> lean . enterprise . middlewear. >>>>>>>> http://wso2.com/ >>>>>>>> Tel. : +94 11 2145345 Fax : +94 11 2145300 email : >>>>>>>> [email protected] >>>>>>>> >>>>>>>> >>>>>>> >>>>>>> >>>>>>> -- >>>>>>> >>>>>>> *Ruchira Wageesha**Associate Technical Lead* >>>>>>> *WSO2 Inc. - lean . enterprise . middleware | wso2.com >>>>>>> <http://wso2.com>* >>>>>>> >>>>>>> *email: [email protected] <[email protected]>, blog: >>>>>>> ruchirawageesha.blogspot.com <http://ruchirawageesha.blogspot.com>, >>>>>>> mobile: +94 77 5493444 <%2B94%2077%205493444>* >>>>>>> >>>>>> >>>>>> >>>>>> >>>>>> -- >>>>>> Krishantha Samaraweera >>>>>> Senior Technical Lead - Test Automation >>>>>> Mobile: +94 77 7759918 >>>>>> WSO2, Inc.; http://wso2.com/ >>>>>> lean . enterprise . middlewear. >>>>>> >>>>> >>>>> >>>>> >>>>> -- >>>>> >>>>> *Ruchira Wageesha**Associate Technical Lead* >>>>> *WSO2 Inc. - lean . enterprise . middleware | wso2.com >>>>> <http://wso2.com>* >>>>> >>>>> *email: [email protected] <[email protected]>, blog: >>>>> ruchirawageesha.blogspot.com <http://ruchirawageesha.blogspot.com>, >>>>> mobile: +94 77 5493444 <%2B94%2077%205493444>* >>>>> >>>> >>>> >>>> >>>> -- >>>> Krishantha Samaraweera >>>> Senior Technical Lead - Test Automation >>>> Mobile: +94 77 7759918 >>>> WSO2, Inc.; http://wso2.com/ >>>> lean . enterprise . middlewear. >>>> >>> >>> >>> >>> -- >>> >>> *Ruchira Wageesha**Associate Technical Lead* >>> *WSO2 Inc. - lean . enterprise . middleware | wso2.com >>> <http://wso2.com>* >>> >>> *email: [email protected] <[email protected]>, blog: >>> ruchirawageesha.blogspot.com <http://ruchirawageesha.blogspot.com>, >>> mobile: +94 77 5493444 <%2B94%2077%205493444>* >>> >>> _______________________________________________ >>> Dev mailing list >>> [email protected] >>> http://wso2.org/cgi-bin/mailman/listinfo/dev >>> >>> >> >> >> -- >> K.D. Chamil Jeewantha >> Associate Technical Lead >> WSO2, Inc.; http://wso2.com >> Mobile: +94716813892 >> >> > > > -- > Krishantha Samaraweera > Senior Technical Lead - Test Automation > Mobile: +94 77 7759918 > WSO2, Inc.; http://wso2.com/ > lean . enterprise . middlewear. > -- K.D. Chamil Jeewantha Associate Technical Lead WSO2, Inc.; http://wso2.com Mobile: +94716813892
_______________________________________________ Dev mailing list [email protected] http://wso2.org/cgi-bin/mailman/listinfo/dev
