Here is the svn link to the earlier work. https://svn.apache.org/viewvc/jena/Experimental/new-test/src/test/
note that all code is under the src/test branch. note also that the old package names are in use. I think there is a move to change the package names to org.apache.jena.... Claude On Mon, Apr 20, 2015 at 6:31 AM, Bruno P. Kinoshita <[email protected]> wrote: > Hello Claude > > > Category testing requires that you know all the category tests when you > write your tests. > > > > The contract test finds all the implemented tests. So if we implement a > new test it is automatically picked up. Also the contract test maven > plugin will show us all the interfaces that are missing tests -- actually > the tooling will do that without the maven plugin. > > Thanks for clarifying. That makes sense, and also makes me want to > experiment writing some contract tests. I'll spend some hours during the > next days playing with the code in that GitHub repository :) > > > I did some work awhile back to convert the tests to junit 4 (Under the > new-test branch) > > I couldn't find the branch under Jena's Git repo at ASF [1]. Maybe it was > deleted? > > > The problem was the number of suites that are not supported by junit > 4. Many of the suites are written so that they add the tests at runtime > so you don't really know all the tests at compile time (as the annotations > require). I found (or wrote -- I don't recall which) an annotated suite > that would allow you to add tests are runtime -- I'll have to find that > again. > > Oh, I also noticed it. This one test suite was the first one that I found > [2] with this pattern. It would be great to have a procedure to follow when > migrating these suites. > > > The secondary problem is that the number of tests is significant and it > is hard to keep up with newly added tests and changes as development > proceeds. > > I can try helping with this. Maybe one or two long development cycles just > to work on this issue. And maybe discuss in the mailing list on a coding > style for new tests - and perhaps update the Wiki with some guideline. > > I've created a branch [3] to work on JENA-380. Feel free to commit to this > branch too or to another branch. I'll try to keep it up to date to master > and create one (or few) commits when merging to the master branch. > > Thanks! > Bruno > > [1] https://git1-us-west.apache.org/repos/asf?p=jena.git;a=summary > > [2] > https://github.com/apache/jena/blob/281e655a0cc696b76006a7bda0582662eefd98de/jena-iri/src/test/java/org/apache/jena/iri/TestExample.java#L226 > > [3] > https://git1-us-west.apache.org/repos/asf?p=jena.git;a=shortlog;h=refs/heads/JENA-380 > > > > > ------------------------------ > *From:* Claude Warren <[email protected]> > *To:* Bruno P. Kinoshita <[email protected]> > *Sent:* Sunday, April 19, 2015 6:05 AM > > *Subject:* Re: Work on JENA-380 > > Category testing requires that you know all the category tests when you > write your tests. > > The contract test finds all the implemented tests. So if we implement a > new test it is automatically picked up. Also the contract test maven > plugin will show us all the interfaces that are missing tests -- actually > the tooling will do that without the maven plugin. > > I did some work awhile back to convert the tests to junit 4 (Under the > new-test branch) The problem was the number of suites that are not > supported by junit 4. Many of the suites are written so that they add the > tests at runtime so you don't really know all the tests at compile time (as > the annotations require). I found (or wrote -- I don't recall which) an > annotated suite that would allow you to add tests are runtime -- I'll have > to find that again. > > The secondary problem is that the number of tests is significant and it is > hard to keep up with newly added tests and changes as development proceeds. > > Claude > > > > > > > > > > On Sat, Apr 18, 2015 at 1:10 PM, Bruno P. Kinoshita <[email protected]> > wrote: > > Hi Claude! > > > I would like to work with you on this. > > That's great! Shortly after writing I started to toy around with the > existing tests. Looks like most of the code using JUnit3 that I found also > have test suites. So probably simply finding "extends TestCase" and > replacing by some annotations won't be enough. > > How do you think we can divide the tasks? I don't mind repetitive/manual > tasks at all :-) > > > I also think that we should develop contract tests for our SPI > interfaces (like graph). > > That's new to me, and looks interesting. > > But just to see if I understand it correctly, couldn't we achieve the same > with categories [1]? This way, tests for the interface "I" (from the > example in the GitHub repo) could be orthogonally tested with a category > CategoryI. And finally annotate a test suite class with > @RunWith(Categories.class) @IncludeCategory(CategoryI.class) > @SuiteClasses(...). > > What would be the advantage of the contract tests over using categories? > > Cheers > Bruno > > [1] https://github.com/junit-team/junit/wiki/Categories > > ------------------------------ > *From:* Claude Warren <[email protected]> > *To:* [email protected]; Bruno P. Kinoshita <[email protected]> > *Sent:* Saturday, April 18, 2015 11:14 PM > *Subject:* Re: Work on JENA-380 > > I was working on this awhile back and got pulled away. > > I would like to work with you on this. I also think that we should > develop contract tests for our SPI interfaces (like graph). > > https://github.com/Claudenw/junit-contracts > > > > > On Sat, Apr 18, 2015 at 9:55 AM, Bruno P. Kinoshita <[email protected]> > wrote: > > Hi all, > > I'm planning to work on JENA-380 [1], migrating tests from JUnit 3 to > JUnit 4, and would like to know if anyone else is working on it. > The issue includes some new structure for tests too, but I intend to > simply remove the old JUnit 3 syntax (e.g. extends TestCase) by > annotations. Later we can work on the remaining of the tasks or close the > issue and open separate issues for each specific task. > Any thoughts? > Bruno > [1] https://issues.apache.org/jira/browse/JENA-380 > > > > > > -- > I like: Like Like - The likeliest place on the web > <http://like-like.xenei.com/> > LinkedIn: http://www.linkedin.com/in/claudewarren > > > > > > -- > I like: Like Like - The likeliest place on the web > <http://like-like.xenei.com/> > LinkedIn: http://www.linkedin.com/in/claudewarren > > > -- I like: Like Like - The likeliest place on the web <http://like-like.xenei.com> LinkedIn: http://www.linkedin.com/in/claudewarren
