On Wed, Dec 14, 2011 at 6:49 AM, Srinath Perera <srin...@wso2.com> wrote:
> Hi Azeez, > > Are we doing this within the stabilization effort or after? > > I am +1 on overall, but bit concerned should we start this right now. > There can be no concern because the JUnit tests we have right now are difficult to run consistently. We have built somewhat of a framework by extending JUnit but JUnit is not very extensible because many of its key methods are static. I think we should start with this right now. For the moment, we can have the build systems running while the test migration effort continues. > > --Srinath > > On Tue, Dec 13, 2011 at 8:15 PM, Afkham Azeez <az...@wso2.com> wrote: > > Let me give you a concrete example of how this will make testing very > easy > > in our products. > > > > Before running any tests, we need to extract the binaries, copy > artifacts, > > then start the Carbon servers. Next we need the tests to run and finally > > shutdown the servers. This is very difficult to do with JUnit in a > > straightforward manner. This is the reason why different product teams > have > > incorporated various hacks to do this. With TestNG it is very simple. > > > > We will have a StartupUtil as follows; > > > > public class StartupUtil { > > > > @BeforeGroups(value = {"appserver", "esb"}) > > public void startup(){ > > extractBinaries(); > > copyArtifacts(); > > startServers(); > > } > > > > @AfterGroups(value = "appserver", "esb") > > public void shutdown(){ > > stopServers(); > > } > > } > > > > > > Our test classes will look like the following. > > > > > > public class TestNGSimpleTest { > > int testInt; > > > > @BeforeSuite > > public void beforeSuite(){ > > System.out.println("Before suite"); > > } > > > > @AfterSuite > > public void afterSuite(){ > > System.out.println("After suite"); > > } > > > > @BeforeMethod > > public void setUp() { > > testInt = 0; > > System.out.println("=========>" + > > System.getProperty("sec.verifier.dir")); > > } > > > > @AfterMethod > > public void tearDown() { > > testInt = 0; > > System.out.println("=========>" + > > System.getProperty("sec.verifier.dir")); > > } > > > > @Test(groups = {"appserver"}) > > public void addTest() { > > testInt++; > > assert testInt == 1; > > System.out.println("add test"); > > } > > > > @Test(groups = {"appserver"}) > > public void subtractTest() { > > testInt--; > > assert testInt == -1; > > System.out.println("subtract test"); > > } > > } > > > > > > Take note of the groups concepts & BeforeGroups/AfterGroups annotations. > We > > may need a week's worth of effort to migrate all our tests but it will be > > well worth the effort. > > > > If there are no objections, I can start implementing this for > > carbon/core/integration. > > > > > > > > On Tue, Dec 13, 2011 at 7:56 PM, Afkham Azeez <az...@wso2.com> wrote: > >> > >> Folks, > >> I was playing around a bit with TestNG > >> (http://testng.org/doc/documentation-main.html#introduction) & it > seems to > >> be the way to go for the type of integration testing we are doing. This > may > >> involve major changes at the platform testing level but will be worth > the > >> investment. > >> > >> Here are some articles that compare TestNG with JUnit4. We are using > JUnit > >> 3. > >> > >> http://www.mkyong.com/unittest/junit-4-vs-testng-comparison/ > >> http://nelz.net/2010/10/06/testng-vs-junit4/ > >> > >> I had a chat with Krishantha & he too agrees that TestNG is more > suitable > >> for the type of test automation we do. Does anybody have any concerns > >> regarding this move? > >> > >> -- > >> Afkham Azeez > >> Director of Architecture; WSO2, Inc.; http://wso2.com > >> Member; Apache Software Foundation; http://www.apache.org/ > >> > >> email: az...@wso2.com cell: +94 77 3320919 > >> blog: http://blog.afkham.org > >> twitter: http://twitter.com/afkham_azeez > >> linked-in: http://lk.linkedin.com/in/afkhamazeez > >> > >> Lean . Enterprise . Middleware > >> > > > > > > > > -- > > Afkham Azeez > > Director of Architecture; WSO2, Inc.; http://wso2.com > > Member; Apache Software Foundation; http://www.apache.org/ > > > > email: az...@wso2.com cell: +94 77 3320919 > > blog: http://blog.afkham.org > > twitter: http://twitter.com/afkham_azeez > > linked-in: http://lk.linkedin.com/in/afkhamazeez > > > > Lean . Enterprise . Middleware > > > > > > _______________________________________________ > > Architecture mailing list > > architect...@wso2.org > > https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture > > > > > > -- > ============================ > Srinath Perera, Ph.D. > http://www.cs.indiana.edu/~hperera/ > http://srinathsview.blogspot.com/ > _______________________________________________ > Architecture mailing list > architect...@wso2.org > https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture > -- *Afkham Azeez* Director of Architecture; WSO2, Inc.; http://wso2.com Member; Apache Software Foundation; http://www.apache.org/ * <http://www.apache.org/>** email: **az...@wso2.com* <az...@wso2.com>* cell: +94 77 3320919 blog: **http://blog.afkham.org* <http://blog.afkham.org>* twitter: **http://twitter.com/afkham_azeez*<http://twitter.com/afkham_azeez> * linked-in: **http://lk.linkedin.com/in/afkhamazeez* * * *Lean . Enterprise . Middleware*
_______________________________________________ Carbon-dev mailing list Carbon-dev@wso2.org http://mail.wso2.org/cgi-bin/mailman/listinfo/carbon-dev