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