testing - With Continuous Integration, why are tests run after committing instead of before? -
while have github repository i'm pushing (alone), forget run tests, or forget commit relevant files, or rely on objects residing on local machine. these result in build breaks, detected travis-ci after erroneous commit. know teamcity has pre-commit testing facility (which relies on ide in use), question regards current use of continuous integration opposed 1 implementation. question is
why aren't changes tested on clean build machine - such travis-ci uses post-commit tesing - before changes committed?
such process mean there never build breaks, meaning fresh environment pull commit repository , sure of success; such, don't understand why ci isn't implemented using post-commit testing.
the assumption if write code , compiles , tests passed locally, no builds broken wrong. so, if developer working on code. let's change interface using, code compile , pass tests long don't updated code uses interface. code compile , pass tests long don't update in interface. , when both check in our code, build machine explodes...
so ci process say: put changes in possible , test them in ci server (it should of course compiled , tested locally first). if developers follow rules, build still break, know sooner rather later.
Comments
Post a Comment