Hi Aaron,

    You might want to look over:

Unit Test Your Struts Application
http://www.onjava.com/lpt/a/5210

WSUnit - The Web Services Testing Tool
https://wsunit.dev.java.net/

Java Testing and Design - free pdf of the book, has updated website
http://www.theserverside.com/tt/books/prenticeHall/JavaTestingAndDesign/index.tss


                                                         Joe Sam

Joe Sam Shirah -        http://www.conceptgo.com
conceptGO       -        Consulting/Development/Outsourcing
Java Filter Forum:       http://www.ibm.com/developerworks/java/
Just the JDBC FAQs: http://www.jguru.com/faq/JDBC
Going International?    http://www.jguru.com/faq/I18N
Que Java400?            http://www.jguru.com/faq/Java400


----- Original Message ----- 
From: "albartell" <albartell@xxxxxxxxx>
To: "'Java Programming on and around the iSeries / AS400'"
<java400-l@xxxxxxxxxxxx>
Sent: Tuesday, June 27, 2006 2:37 PM
Subject: JUnit for webservices - critique me


Ok. So today I made some changes to my iSeries software and went through
my
usual motions of testing it thoroughly.  When I was done I realized I
spent
about 2 hours cutting and pasting various xml documents into my GUI Web
Service Unit Tester (http://mowyourlawn.com/blog/?p=17).  It was then I
realized I needed to "enhance" my method of doing humdrum testing so I
ventured into the JUnit world.  I have read about JUnit but have never
implemented it's practices because I have had other programmatical means
to
test various processes, but they are much more manual than what I believe
JUnit has to offer.

I have put together what I understand to be JUnits approach to testing if
a
web service has executed successfully.  I have done both tests for valid
completion and also tests for exceptions (say errors).  The basic concept
is
that I execute an HTTP POST against a web service on the iSeries using a
local document as the POST content.  The response I receive from the POST
is
then compared to another local document to see if the expected results
were
received.

Here is my main class that I execute in Eclipse by doing a Run As -> JUnit
Test
import junit.framework.Test;
import junit.framework.TestSuite;

public class AllTests {
    public static void main(String[] args) {
    }
    public static Test suite() {
        TestSuite suite = new TestSuite("Web service testing");
        //$JUnit-BEGIN$
        suite.addTestSuite(Webservices.class);
        //$JUnit-END$
        return suite;
    }
}

-----Here is the Webservices.java file-----
import java.io.IOException;
import java.net.ConnectException;
import java.net.MalformedURLException;
import junit.framework.TestCase;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import util.FileControl;
import util.HttpUtil;

public class Webservices extends TestCase {
    String svrUrl = "http://172.29.134.41:8181/myrxs/";;
    public Webservices(String arg0) {
        super(arg0);
    }
    @Before
    protected void setUp() throws Exception {
        super.setUp();
    }
    @After
    protected void tearDown() throws Exception {
        super.tearDown();
    }
    @Test
    public void test_rxs5_t1() {
        System.out.println("Running...rxs5_t1");
        try {
            String fullUrl = svrUrl + "rxs5";
            String postContent =
FileControl.readFileToString("xml/reqdocs/rxs5_t1.xml");
            String contentType = "text/xml";
            String soapAction = "";

            String actual = HttpUtil.post(fullUrl, postContent,
contentType,
soapAction);
            String expected =
FileControl.readFileToString("xml/rspdocs/rxs5_t1.xml");

            assertEquals("Response document not as expected.", expected,
actual);

        } catch (ConnectException e) {
            e.printStackTrace();
        } catch (MalformedURLException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    @Test
    public void test_rxs5_t2() {
        System.out.println("Running...rxs5_t2");
        try {
            String fullUrl = svrUrl + "rxs5";
            String postContent =
FileControl.readFileToString("xml/reqdocs/rxs5_t2.xml");
            String contentType = "text/xml";
            String soapAction = "";

            String actual = HttpUtil.post(fullUrl, postContent,
contentType,
soapAction);
            String expected =
FileControl.readFileToString("xml/rspdocs/rxs5_t2.xml");

            assertEquals("Response document not as expected.",
actual.startsWith(expected));

        } catch (ConnectException e) {
            e.printStackTrace();
        } catch (MalformedURLException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

Am I going in the right direction?
Aaron Bartell
http://mowyourlawn.com


As an Amazon Associate we earn from qualifying purchases.

This thread ...

Replies:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2022 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].

Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.