Continuous integration

Chamilo has a continuous integration system in place at http://testing.chamilo.org.

In order for the system to work in a greatly useful manner, we require unit tests to be developed and integrated into Chamilo.

Thanks to a very useful skeleton-generation of PHPUnit, adding basic test cases is very easy. Just open any library and add relevant @assert tags in the phpdoc section of any function you find there. This will allow you to generate a new test class for this library from the tests/phpunit/ directory. See http://www.phpunit.de/manual/current/en/skeleton-generator.html for more info.

You can also update unit tests directly from the tests/phpunit/classes directory.

So far, we have about 600 tests, covering roughly 0.1% of the total Chamilo code base (meaning every possible condition inside the Chamilo code, that has more than 300,000 lines of code). Our goal is to reach 30% by mid-2014.