July 11

Things got complicated this week. I took a break from writing unit tests, and decided to finalize the package structure. Unfortunately, this turned into an endless cycle of “Oh, I’ll do this… and this needs that…” – but the end result is that the way the package handles running tests and logging/showing results is much better off. The GUI interacts with a class that runs tests, with plenty of easy-to-implement options for different scenarios that we might want (a cronjob to run the entire suite was in mind). In addition, I switched the logging system from XML to JSON – after enough tests are written, the XML files would devour too much memory to parse and deliver. The GUI is turning into a more program-like interface than a few happy javascript hacks; as we’ll be able to load any historical test’s results (stored in a master log) to view in it, even if we aren’t running a test.

This week, I’m planning to finalize the GUI (completely, this time) and write a few simple scripts that a task scheduler or cronjob can run, bringing this project into adulthood. I’ll need to look into PHPUnit’s listener classes more, but if one can easily be implemented in the structure I have, it would be great – then we can have live output of test results in the GUI (right now, it’s hard to tell if the test processing froze, failed, or is just merrily thinking). The README can also use a final go-over, as the structure shouldn’t be changing after this week, and more information is needed for other developers to work with the suite. Then, back to the dark recesses of lib-common it seems….

Advertisement

~ by mindtap on July 12, 2009.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Connecting to %s

 
Follow

Get every new post delivered to your Inbox.