Hi Clint,

I will be very please to include your work of migrating to JUnit 4.

Some comments: 

1) as far as I know we can't support 2 JUnit versions in the same Maven module 
as it is in the same groupId:artifactId. So I think it would be better to split 
in 2 separate modules. For example jwebunit-junit3-plugin and 
jwebunit-junit4-plugin.
2) All tests are written for JUnit3. So one big part of the job would be to 
migrate all tests to JUnit4. In a first place we could keep both JUnit 3 and 
JUnit 4 tests then deprecated progressively both JUnit 3 tests and 
jwebunit-junit3-plugin.
3) What is the purpose of the WebTestClientFactory? In case we have 2 seprate 
modules, users will only include one so they can safely inherit from 
WebTestCase (will be either JUnit3 or JUnit4 version depending on Maven 
dependency). If you prefer to have a clean separation then we can have two 
separates packages:
net.sourceforge.jwebunit.junit.WebTestCase (old JUnit 3 is not renamed to keep 
backward compatibility)
net.sourceforge.jwebunit.junit4.WebTestCase

To sum up, according to me, here are the task that need to be done:
1) Migrate WebTester to JUnit4
2) Improve WebTestCase generator to handle annotation when creating JUnit4 
version of WebTestCase
3) Migrate JUnit tests
4) Improve project build => create 2 modules and deal with running both JUnit3 
and JUnit4 version of the tests for both HtmlUnit and Selenium plugins.

If that seems too complicated for you (I can understand that) => simply focus 
on JUnit4 migration without keeping JUnit3. Even if some people complain, I 
think we can abandon JUnit3 support.

Regards,

Julien




________________________________
De : Geneho Kim <[email protected]>
À : [email protected]
Envoyé le : Vendredi, 14 Août 2009, 18h44mn 26s
Objet : [JWebUnit-development] Request to contribute for Port to JUnit4

Hi.
My name is Clint Kim, and I'd like to contribute to JWebUnit. Mainly,  
I'd like to work on JUnit4 port.

I've used HttpUnit, HtmlUnit, JUnit, over the past years. I found that  
JWebUnit to be very useful. However, my new project only works with  
JUnit 4 (company policy). Hence, I'd need port that works with JUnit 4.

Here is my initial approach:

* Add a new interface: net.sourceforge.jwebunit.junit.WebTestHelper  
(or WebTestSupport).
* Add a new class:  
net.sourceforge.jwebunit.junit.WebTesterClientJUnit4 that implements  
the above interface. (This should be a package-private class)
* Add a new class: net.sourceforge.jwebunit.api.WebTestClientFactory.  
This factory could have the following methods:

    public static WebTestHelper createJUnit3Instance()
    public static  WebTestHelper createJunit4Instance()

* Deprecate class: net.sourceforge.jwebunit.junit.WebTester
* Make net.sourceforge.jwebunit.junit.WebTester implement WebTestHelper.

If this seems to be a lot of changes, we could go with a single new  
class that uses JUnit 4 assertions (org.junit.Assert.*).

Thanks,
Clint

------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
trial. Simplify your report design, integration and deployment - and focus on 
what you do best, core application coding. Discover what's new with 
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
_______________________________________________
JWebUnit-development mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/jwebunit-development



      
------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
trial. Simplify your report design, integration and deployment - and focus on 
what you do best, core application coding. Discover what's new with 
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
_______________________________________________
JWebUnit-development mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/jwebunit-development

Reply via email to