This morning I came in to work and checked in with Jenkins Continuous Integration/Deployment results.
We had 9 failures reported in Jenkins. I pulled in the latest code through Eclipse:
team > Update to Head
I ran these tests locally, against a QA environment:
Run As JUnit tests
I saw the problem. We have a new page that appears if a user goes to their Dashboard, after logging in. This new page, wasn’t being accounted for in these tests… but other tests worked fine.
Turns out it’s because of our migration to GEB. We have tests in two frameworks currently. The GEB framework and the older homegrown Groovy/Spock framework. The fix to pass this new page, was put into the older framework. However it wasn’t put into the newer GEB tests.
So I was right about the problem.
However, my fix, which was a simple if statement – didn’t work out so well. I pulled in a developer (Vijay) and he corrected my code.
We’re considering a better solution, which is to create users who don’t pull these features (like having the necessary data populated at the beginning of the test) so the feature wouldn’t pop up anyway.