1.

Is There A Way To Setup Continuous Integration For Apex Tests?

Answer»

There are a couple of decent Dreamforce presentations here:

Team Development:

Possible, Probable, and Painless and Continuous Integration in the Cloud.

We ran into some issues with this in practice and there was no way to get TRUE automation (i.e., set it and forget it). We were also set it up with Selenium.

Here were the issues that I remember:

  • Some features aren’t supported in the metadata API and cannot be moved via the ant migration. If you have any unit tests that work with those features, you have to manually work on your CI ORG.
  • Deletions are harder to maintain. You have to manually update and apply a destructiveChanges.xml file or replicate the deletion in the CI org.
  • We ran into a situation where some metadata XML files had ‘invalid’ data in them. The suggested solution was to build a post checkout script that manipulates the offending XMLs into valid XMLs. Not ideal.
  • On PROJECTS, we wanted to track just our changes and push out just our changes in source control. In THEORY, this would allow much easier rebase lining. This would have required more manual maintenance of XML files (e.g., 2 NEW fields added on Account and only want to push those 2 fields not all (*) fields).
  • My conclusion is that it is worth doing if you can get it set up, but if you are working on shorter-term projects and don’t have a decent amount of time budgeted in for it, it probably isn’t worth setting up.

There are a couple of decent Dreamforce presentations here:

Team Development:

Possible, Probable, and Painless and Continuous Integration in the Cloud.

We ran into some issues with this in practice and there was no way to get true automation (i.e., set it and forget it). We were also set it up with Selenium.

Here were the issues that I remember:



Discussion

No Comment Found