git.net

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Ant JUnit tests


2018-04-20 15:26 GMT+00:00 Nicolas Lalevée <nicolas.lalevee@xxxxxxxxxx>:

> > Le 20 avr. 2018 à 07:09, Gintautas Grigelionis <g.grigelionis@xxxxxxxxx>
> a écrit :
> >
> > I am refactoring Ant JUnit tests with a goal to make them more
> > "IDE-friendly". I found several tests that are implictly dependent on
> > ant.home property being set. In these cases, the test should be prevented
> > from execution by adding an assumption; however, perhaps there might be a
> > suitable default, like basedir + "/bootstrap" or some other location that
> > might be suggested in, say, javadoc?
>
> Rather than being skipped, it would prefer that such tests fail. I would
> assume that the test being skipped are only the tests that I cannot run,
> like the one testing a special feature of Windows while I am on MacOS. If
> it is just about an incorrect configuration of my IDE, I would want to be
> clearly notified that I can do something to run the tests, rather than
> silently skipping such tests. Because in the end I would want to run such
> tests.


I think I was clear that assumptions are not silent; here's an example of
assumptions from Ant build log

Testsuite: org.apache.tools.ant.util.JavaEnvUtilsTest
Tests run: 6, Failures: 0, Errors: 0, Skipped: 3, Time elapsed: 0,01 sec

Testcase: java10IsDetectedProperly(org.apache.tools.ant.util.JavaEnvUtilsTest):SKIPPED:
got: <false>, expected: is <true>
Testcase: testGetExecutableWindows(org.apache.tools.ant.util.JavaEnvUtilsTest):SKIPPED:
Test only runs on windows
Testcase: testGetExecutableNetware(org.apache.tools.ant.util.JavaEnvUtilsTest):SKIPPED:
Test only runs on netware

The first SKIPPED line is emitted by a messageless assumption

assumeTrue("10".equals(System.getProperty("java.specification.version")));

Now, I don't see a point why a system property "ant.home" should be treated
differently from a system property "java.specification.version". An
assumption should inform you that the test won't run unless the property is
set, and that's what you wanted: a notification that you can (and must) do
something to run the test.

Gintas