On Fri, Oct 5, 2012 at 10:52 PM, Olemis Lang <[email protected]> wrote:
> [...] > > Besides IMO we should take some time to start writing tests and setup > CI . This is mainly considering the fact that the number of > contributors has increased recently and more concurrent changes > against a more complex implementation means a higher probability to > e.g. introduce regressions. > Additionally, it would be very nice to have some functional/acceptance tests for plugins that we pull from a third-party source (primarily trac-hacks, I imagine). The acceptance test suite might be pretty small to start with, but having the framework in place at least allows regressions to be dealt with by putting a test in place. Some recent work was leading me to consider this - a little off topic, but I'll circle back around here in a second ;) Over the past 2-3 days I've been doing some work on the MasterTicketsPlugin, with the idea that this could possibly be included in Bloodhound to support a certain type of ticket dependencies. At this stage I was just study the code and thinking about the features; my next step will be to raise the issue on the mailing list. I wrote some unit tests, fixed some bugs and refactored a bunch of code. I feel like it is getting better, but it would sure be nice to have some functional tests at this stage, and even more so before pulling a plugin like this into the Bloodhound project. So finally, my question. The Trac project uses Twill for functional testing. I see some tests in bhdashboard, but they appear to be unit tests from what I can tell. Has there been any discussion or exploration of what tool(s) to use for functional testing in Bloodhound? I have a very small amount of experience writing tests in Twill, so I have no idea if that is a relatively good suite to use. Is there anyone with more experience that can provide some suggestions? I was planning to try setting up some tests in Twill for MasterTicketsPlugin and talk about that more when I raise that issue for discussion soon, but if someone has a better suggestion I would give it a try.
