DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG 
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://nagoya.apache.org/bugzilla/show_bug.cgi?id=19151>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND 
INSERTED IN THE BUG DATABASE.

http://nagoya.apache.org/bugzilla/show_bug.cgi?id=19151

 A New nested element to the batchtest element of the JUnit task

           Summary:  A New nested element to the batchtest element of the
                    JUnit task
           Product: Ant
           Version: 1.6Alpha (nightly)
          Platform: All
        OS/Version: Other
            Status: NEW
          Severity: Enhancement
          Priority: Other
         Component: Optional Tasks
        AssignedTo: [EMAIL PROTECTED]
        ReportedBy: [EMAIL PROTECTED]


I want to use the JUnit optional task but there is something missing:
My project includes some tests that should be invoked after compilation, and 
other tests that should be invoked after the server is up and running.

To seperate between these tests some are implelemting a CompileTimeTest tag 
interface and other are implementing a RunTimeTest tag interface.

I think it would be a nice feature to have an "instanceof" nested element that 
will be used in the following way:

<junit ...>
  ...
  ...
  <batchtest ... >

    //Example 1:
    //Invoke tests which are instances of RunTimeTest and are not instances 
    //of DBTest will be invoked
    //
    <instanceof>
      <include value= "com.mercury.xxx.yyy.RunTimeTest">
      <exclude value= "com.mercury.xxx.yyy.DBTest">
    </instanceof> 

    //Example 2:
    //Only tests which are instances of RunTimeTest or CoreEngineTest and   
    //are not instances of DBTest or CompileTimeTest will be invoked.

    // Between the includes/excludes themselves there is an or flag.
    // Between the includes and the excludes there is an and flag:
    // ((include1 || include2 || ... || includeN) && 
    //  !(exclude1 || exclude2 || ... || excludeN))
    <instanceof>
      <include value= "com.mercury.xxx.yyy.RunTimeTest">
      <include value= "com.mercury.xxx.yyy.CoreEngineTest">
      <exclude value= "com.mercury.xxx.yyy.DBTest">
      <exclude value= "com.mercury.xxx.yyy.CompileTimeTest">
    </instanceof> 

  </batchtest>
</junit>

Tests can be filtered by their name, but I think this way is more clean and 
more flexible.

If you think its a good feature I can send you my implementation.

Reply via email to