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. --Srinath On Tue, Dec 13, 2011 at 8:15 PM, Afkham Azeez <[email protected]> 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 <[email protected]> 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: [email protected] 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: [email protected] 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 > [email protected] > https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture > -- ============================ Srinath Perera, Ph.D. http://www.cs.indiana.edu/~hperera/ http://srinathsview.blogspot.com/ _______________________________________________ Carbon-dev mailing list [email protected] http://mail.wso2.org/cgi-bin/mailman/listinfo/carbon-dev
