On 31/08/12 12:01, Daniel Werner wrote:
Hi everyone,
Started poking on parser tests lately and found myself riddled after a
while.
It seems like when running parser test files with phpunit.php they follow
different rules as when running them with parserTests.php.
If I observed this correctly, phpunit.php collects all articles to be
created with "!!article", creates them, and then it runs tests. With
parserTests.php on the other hand everything is executed in the order it is
defined. In some tests it can be important whether a article already exists
or not.
That was done for creating the "articles" once, outside of the test
loop. Originally they were also created in place, but inserting all
articles for each test was really slow.
If a test relies on some articles existing, those should be defined
before it. If it's not documented, it should be.
With that rule in place, the difference on creating at the start or on
demand doesn't matter.
(...)
I would very much appreciate if anyone could explain
to me why there are
both of these files and why we maintain (more or less) a whole bunch of
redundant code for those tests.
Cheers,
Daniel
Someone did a crappy work when creating the phpunit parser tests,
duplicating a lot of code and sharing none between them. It was later
improved by several people, as years passed, I did myself several fixes
to the phpunit code. I think it is easy to compare them with a visual
diff tool. I remember that some more methods could be shared if the
parameter order of parserTests.php was changed.
Best regards