After many moons I finally have a bit of time to close out some open bugs and handle some pull requests on Test::DBIx::Class This version is prepped and over on github for now; I'll push it to CPAN today during a presentation I'm giving to my coworkers on "How to contribute to CPAN" :)
This release evens out some weird bugs and documentation errors. The main new features is that the fixture loader now properly accepts fixture configurations with multiple tables. Also, we've added support for creating mysql test instances with replication on the fly. So if you want to check your code against replication (which is a good idea if you are using replication in production) you can just do:
use Test::DBIx::Class
-traits=>'Testmysqld',
-replicants=>2;
And that will automatically create a master and two replicants, deploy your database, install fixtures, etc. The code for this probably could use some love but overall is working well for me. You can even use replication in conjunction with parallel tests (use prove -j9, for example) but of course that's going to spawn off a lot of test databases so make sure your box can handle it :)
I'm starting to consider where to take this codebase in the future. Clearly it needs better docs and probably a cookbook to help people get going. On a deeper level I think overall it's a bit too integrated and that some stuff in the code could very well be busted out and be useful in its own right. For example some of the features in Test::DBIC, such as the
sub::exporter based barewords for the Schema and resutlsets, might be
useful it its own right as a stand alone module. Some people may be
interested in using that for scripts and so forth. Also I am thinking of changing the way fixtures are loaded up; there's been work on general on this in DBIC and I would rather leverage existing code, ideally. Also some of work I did to make replication easy might be better ported back to Test::mysqld if that author is interested. Anyway, thoughts, criticism, etc welcome.