Mo.
Mo.

Reputation: 15343

Generating JUnit Testcases

Our application depends on numerous resources that are provided by another system.

To ensure the existence of those resources, we currently have a JUnit test case (probably more an integration test), that takes a list of all the resources as a textfile, fetches each and tracks success/failure.

This is a very long running testCase that is not very "tool friendly". What we would really like to have is something along the lines of one test-method per resource.

I am aware that this is not what JUnit was meant to do. But is there a way to generate those testmethods on the fly?

Maybe something a bit more "elegant" than writing a perl-script to generate hundreds of methods?

Thanks a lot!

Upvotes: 2

Views: 1930

Answers (3)

ade
ade

Reputation: 4074

This: http://github.com/adewale/cq-challenge-markup/blob/b99c098f0b31307c92bd09cb6a324ef2e0753a0b/code/acceptance-tests/AcceptanceTest.java is an example of a class that dynamically generates one test per resource using the JUnit4 @Parameterized annotation

Upvotes: 1

McDowell
McDowell

Reputation: 108859

You may want to look at parameterized tests. This is easier to achieve in JUnit 4, though can be done in JUnit 3. See this question for code: JUnit test with dynamic number of tests

Upvotes: 5

matt b
matt b

Reputation: 139921

You might want to take a look at the TestSuite class, and creating your own instance (rather than letting one of the junit runners just run all the tests in a certain dir) and/or subclassing it - the TestSuite has methods to programmatically addTests to it, and then you can run all the tests within the suite.

Upvotes: 0

Related Questions